问题
在测试类中,使用默认的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/java</directory>
             <includes>
                 <include>**/*.yml</include>
                 <include>**/*.properties</include>
                 <include>**/*.xml</include>
             </includes>
             <filtering>false</filtering>
         </resource>
         <resource>
             <directory>src/main/resources</directory>
             <includes>
                 <include>**/*.yml</include>
                 <include>**/*.properties</include>
                 <include>**/*.xml</include>
             </includes>
             <filtering>false</filtering>
         </resource>
     </resources>
 </build>
2、加上以上内容后还是不生效,可以重新选择maven的install

到此这篇关于springboot无法加载application.properties的问题解决的文章就介绍到这了,更多相关springboot无法加载application.properties内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
            
                                            
                                            
                                            
                                            
                                            
发表评论