SpringBoot常见问题小结

时间:2022-08-25 12:27:07

 1、在外部tomcat中运行

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

?
1
2
3
4
5
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
  <scope>provided</scope>
</dependency>

启动类改成如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
@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没取到值

?
1
2
3
4
5
@Component
public class PayConfig {
  @Value("${pay.webBody}")
  public static String webBody;
}

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

或者这种

?
1
2
3
4
5
6
7
8
@Component
public class PayConfig {
  public static String webBody;
  @Value("${pay.webBody}")
  public void setWebBody(String webBody) {
    this.webBody= webBody;
  }
}

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

?
1
2
3
4
5
@Component
public class PayConfig {
  @Value("${pay.webBody}")
  public String webBody;
}

在要使用的地方

?
1
2
3
@Resource
private PayConfig payConfig;
payConfig.webBody

以上所述是小编给大家介绍的SpringBoot常见问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/ashur619/article/details/74909109