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