1.指定配置文件,创建jdbc.properties
jdbc.driver = com.mysql.jdbc.driverjdbc.url = jdbc:mysql://localhost:3306/demojdbc.username = rootjdbc.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.处理器中的使用
@RestControllerpublic class TestController { @Autowired DruidDataSource druidDataSource; @RequestMapping("/test") public void test(){ System.out.println("=============="); }}
SpringBoot属性的注入
1.yml文件的书写
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; } }
属性配置过程
来源:https://www.cnblogs.com/ghwq/p/12635824.html