Spring Boot 读取配置文件
以例子分析
/** * @author mainboot * Druid 数据源配置类 */@Configurationpublic class DruidConfig { @Resource private Environment environment; @Resource private SingleConfig singleConfig;@Value("${my.name}")private String myName; private static final Logger LOG = LoggerFactory.getLogger(DruidConfig.class); /** * 将自定义的 Druid 数据源添加到容器中,不再让 Spring Boot 自动创建 * 这样做的目的是:绑定全局配置文件中的 druid 数据源属性到 com.alibaba.druid.pool.DruidDataSource * 从而让它们生效 * @ConfigurationProperties(prefix = "spring.datasource"):作用就是将 全局配置文件中 前缀为 spring.datasource * 的属性值注入到 com.alibaba.druid.pool.DruidDataSource 的同名参数中 * * @return */ @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druidDataSource() { LOG.info("主引教程----项目【"+myName+"】初始化数据库------"+environment.getProperty("my.name")); LOG.info("主引教程----项目【"+environment.getProperty("my.name")+"】初始化数据库------"); singleConfig.show(); return new DruidDataSource(); } }/** * * @author mainboot * 读取单独一个配置文件 */@Configuration@PropertySource("classpath:application.yml")//4、读取单独一个配置文件public class SingleConfig {@Value("${spring.profiles.active}")private String active;@Value("${mybatis.typeAliasesPackage}")private String typeAliasesPackage;@Value("${mybatis.mapperLocations}")private String mapperLocations;public void show() {System.out.println("active --- > " + active);System.out.println("typeAliasesPackage --- > " + typeAliasesPackage);System.out.println("mapperLocations --- > " + mapperLocations);}}
上面例子说明了四种读取配置文件的方法:
- 1、注入环境变量来获取配置信息(Environment)。
- 2、注解获取配置文件单个信息(@Value)。
- 3、注解读取配置文件多个信息(@ConfigurationProperties)。
- 4、读取单独一个配置文件。
在上面例子中,可以很好的看出读取配置文件的多样性。选择适应自己项目的读取方案就可以。
配置文件的规则可以看教程中的【Spring Boot 支持各种环境配置】。
希望我的分享可以帮助到你,如果你在内容技术上遇到难题,可以+关注■@主引教程 ,反馈给我们。我们会及时回复,如果有那些内容有误可以直接提出来,我们会及时纠正,谢谢来访。