SpringBoot常见问题

来源:互联网 发布:淘宝开放平台架构 编辑:程序博客网 时间:2024/05/20 06:07

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@EnableConfigurationPropertiespublic 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没取到值

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

如上代码,不能用static关键字修饰
或者这种

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

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

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

在要使用的地方

@Resourceprivate PayConfig payConfig;payConfig.webBody