SpringBoot常见问题小结

 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

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。