1. 指定配置文件, 创建 jdbc.properties
- jdbc.driver = com.MySQL.jdbc.driver
- jdbc.url = jdbc:MySQL://localhost:3306/demo
- jdbc.username = root
- jdbc.password = root
2. 创建一个配置类, 配置类中完成属性的注入
- // 完成自动配置的三种形式, xml, 注解, 配置
- @Configuration
- // 将配置文件的值读取到 spring value 值是文件路径
- @PropertySource(value = "jdbc.properties")
- public class DruidConf {
- // 从 spring 环境中读取每一个键值对, 并且赋值于成员变量, 使用 value 取值, 取值方式 spel,spring 的 el 表达式
- @Value("${jdbc.driver}")
- String driver;
- @Value("${jdbc.url}")
- String url;
- @Value("${jdbc.username}")
- String username;
- @Value("${jdbc.password}")
- String password;
- //@Bean 将结果交给工厂管理
- @Bean
- public DruidDataSource getDruidDataSources(){
- DruidDataSource dataSource = new DruidDataSource();
- dataSource.setDriverClassName(driver);
- dataSource.setUrl(url);
- dataSource.setUsername(username);
- dataSource.setPassword(password);
- return dataSource;
- }
- }
3. 处理器中的使用
- @RestController
- public class TestController {
- @Autowired
- DruidDataSource druidDataSource;
- @RequestMapping("/test")
- public void test(){
- System.out.println("==============");
- }
- }
SpringBoot 属性的注入
1.YAML 文件的书写
- jdbc:
- driver: com.MySQL.jdbc.driver
- url: jdbc:MySQL://localhost:3306/demo
- username: root
- password: root
2. 属性配置类
- package com.nylg.conf;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import java.util.Objects;
- // 属性配置类, prefix 前置配置
- @ConfigurationProperties(prefix = "jdbc") public class DruidConfSpringBoot {
- String driver; String url; String username; String password; public String getDriver() {
- return driver;
- } public void setDriver(String driver) {
- this.driver = driver;
- } public String getUrl() {
- return url;
- } public void setUrl(String url) {
- this.url = url;
- } public String getUsername() {
- return username;
- } public void setUsername(String username) {
- this.username = username;
- } public String getPassword() {
- return password;
- } public void setPassword(String password) {
- this.password = password;
- } public DruidConfSpringBoot() {
- } public DruidConfSpringBoot(String driver, String url, String username, String password) {
- this.driver = driver; this.url = url; this.username = username; this.password = password;
- } @Override public boolean equals(Object o) {
- if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DruidConfSpringBoot that = (DruidConfSpringBoot) o; return Objects.equals(driver, that.driver) && Objects.equals(url, that.url) && Objects.equals(username, that.username) && Objects.equals(password, that.password);
- } @Override public int hashCode() {
- return Objects.hash(driver, url, username, password);
- } @Override public String toString() {
- return "DruidConfSpringBoot{" + "driver='" + driver + '\'' + ", url='" + url + '\'' + ", username='" + username + '\'' + ", password='" + password + '\'' + '
- }';
- } }
3. 引入 jar, 重启项目
- <!-- 配置文件提示 -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-configuration-processor</artifactId>
- <optional>true</optional>
- </dependency>
4. 核心配置类
- @Configuration// 引入哪个属性配置类
- @EnableConfigurationProperties(DruidConfSpringBoot.class)
- public class DruidConf {
- @Autowired
- DruidConfSpringBoot druidConfSpringBoot;
- //@Bean 将结果交给工厂管理
- @Bean
- public DruidDataSource getDruidDataSources(){
- DruidDataSource dataSource = new DruidDataSource();
- // 通过对象获取属性
- dataSource.setDriverClassName(druidConfSpringBoot.getDriver());
- dataSource.setUrl(druidConfSpringBoot.getUrl());
- dataSource.setUsername(druidConfSpringBoot.getUsername());
- dataSource.setPassword(druidConfSpringBoot.getPassword());
- return dataSource;
- }
- }
属性配置过程
来源: http://www.bubuko.com/infodetail-3492598.html