springBoot无法加载application.properties

问题

测试类中,使用默认的application.yml可以读取到配置信息,切换为application.properties后无法读取,但是通过启动类又可以正常读取。

排查过程

1、怀疑自己的application.properties写法有问题,但是启动类能正常读取,排除。
2、怀疑测试类的注解存在问题,网上说的Junit5和4使用的注解不太一样,更换后并没有什么变化。(PS:新的@SpringBootTest已经集成了Junit5的@ExtendWith,根本不像网上说的需要添加)。
3、在指定自定义配置文件的情况读取成功了,自定义配置如下:

@Component
@PropertySource(value = {"classpath:config/user.properties"})
@ConfigurationProperties(prefix = "user")
public class UserSetting {
    private String username;
    // 忽略get和set
}

感觉是默认的配置文件application.properties没有加载。

解决方案

1、在pom文件中加上如下内容:

 <build>
     <resources>
         <resource>
             <directory>src/main/javadirectory>
             <includes>
                 <include>**/*.ymlinclude>
                 <include>**/*.propertiesinclude>
                 <include>**/*.xmlinclude>
             includes>
             <filtering>falsefiltering>
         resource>
         <resource>
             <directory>src/main/resourcesdirectory>
             <includes>
                 <include>**/*.ymlinclude>
                 <include>**/*.propertiesinclude>
                 <include>**/*.xmlinclude>
             includes>
             <filtering>falsefiltering>
         resource>
     resources>
 build>

2、加上以上内容后还是不生效,可以重新选择maven的install
springBoot无法加载application.properties_第1张图片

参考链接:
SpringBoot 项目不加载 application.properties 配置文件

你可能感兴趣的:(Java,spring,boot,java)