当前位置:主页 > 软件编程 > JAVA代码 >

SpringBoot常见问题小结

时间:2021-09-16 09:54:00 | 栏目:JAVA代码 | 点击:

 1、在外部tomcat中运行

pom文件中 jar 改成 war,内置tomcat要改成provide

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
  <scope>provided</scope>
</dependency>

启动类改成如下:

@SpringBootApplication
@Configuration
@EnableConfigurationProperties
public class BaseApplication extends SpringBootServletInitializer {
  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(BaseApplication.class);
  }
  public static void main(String[] args) {
    SpringApplication.run(BaseApplication.class, args);
  }
}

2、@Value没取到值

@Component
public class PayConfig {
  @Value("${pay.webBody}")
  public static String webBody;
}

如上代码,不能用static关键字修饰

或者这种

@Component
public class PayConfig {
  public static String webBody;
  @Value("${pay.webBody}")
  public void setWebBody(String webBody) {
    this.webBody= webBody;
  }
}

使用静态方式直接获取也是取不到的,我们在使用时,必须采用 @Resource 注入到要使用的类,所以简化一下

@Component
public class PayConfig {
  @Value("${pay.webBody}")
  public String webBody;
}

在要使用的地方

@Resource
private PayConfig payConfig;
payConfig.webBody

您可能感兴趣的文章:

相关文章