详解SpringBoot注解读取配置文件的方式
一、@Value读取application.properties配置文件中的值
application.properties配置文件
fileName=configName
PropertiesConfig类文件
importorg.springframework.beans.factory.annotation.Value; importorg.springframework.stereotype.Component; @Component publicclassPropertiesConfig{ //通过@Value注解读取fileName的值 @Value("${fileName}") privateStringfileName; publicStringgetFileName(){ returnfileName; } publicvoidsetFileName(StringfileName){ this.fileName=fileName; } }
测试
importcom.model.PropertiesConfig; importorg.junit.Test; importorg.junit.runner.RunWith; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.boot.test.context.SpringBootTest; importorg.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest publicclassPropertiesConfigTest{ @Autowired privatePropertiesConfigpropertiesConfig; @Test publicvoidtest(){ System.out.println(propertiesConfig.getFileName());//结果输出:configName assert"configName".equals(propertiesConfig.getFileName()); } }
二、@ConfigurationProperties读取多个application.properties配置文件中的值
application.properties文件
database.username=root database.password=root
DatabaseConfig类文件
importorg.springframework.boot.context.properties.ConfigurationProperties; importorg.springframework.stereotype.Component; @Component @ConfigurationProperties("database") publicclassDatabaseConfig{ privateStringuserName; privateStringpassWord; publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetPassWord(){ returnpassWord; } publicvoidsetPassWord(StringpassWord){ this.passWord=passWord; } }
测试
importcom.model.DatabaseConfig; importorg.junit.Test; importorg.junit.runner.RunWith; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.boot.test.context.SpringBootTest; importorg.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest publicclassDatabaseConfigTest{ @Autowired privateDatabaseConfigdatabaseConfig; @Test publicvoidtest(){ System.out.println("username="+databaseConfig.getUserName()+",password="+databaseConfig.getPassWord());//结果输出:username=root,password=root assert"root".equals(databaseConfig.getUserName()); assert"root".equals(databaseConfig.getPassWord()); } }
三、@PropertySource读取任意配置文件
新建property-source.properties配置文件
fileName=configName database.username=root database.password=root
PropertySourceConfig类文件
importorg.springframework.beans.factory.annotation.Value; importorg.springframework.boot.context.properties.ConfigurationProperties; importorg.springframework.context.annotation.PropertySource; importorg.springframework.stereotype.Component; @Component @PropertySource(value={"classpath:property-source.properties"}) @ConfigurationProperties("database") publicclassPropertySourceConfig{ @Value("${fileName}") privateStringfileName; privateStringuserName; privateStringpassWord; publicStringgetFileName(){ returnfileName; } publicvoidsetFileName(StringfileName){ this.fileName=fileName; } publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetPassWord(){ returnpassWord; } publicvoidsetPassWord(StringpassWord){ this.passWord=passWord; } }
测试
importcom.model.PropertySourceConfig; importorg.junit.Test; importorg.junit.runner.RunWith; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.boot.test.context.SpringBootTest; importorg.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest publicclassPropertySourceConfigTest{ @Autowired privatePropertySourceConfigpropertySourceConfig; @Test publicvoidtest(){ assert"configName".equals(propertySourceConfig.getFileName()); System.out.println("fileName="+propertySourceConfig.getFileName());//结果输出:configName assert"root".equals(propertySourceConfig.getUserName()); System.out.println(propertySourceConfig.getUserName());//结果输出:root assert"root".equals(propertySourceConfig.getPassWord()); System.out.println(propertySourceConfig.getPassWord());//结果输出:root } }
完整代码链接:read-config-file项目地址
到此这篇关于详解SpringBoot注解读取配置文件的方式的文章就介绍到这了,更多相关SpringBoot注解读取配置文件内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!