TZ_11_Spring-Boot的属性注入方式(jdbc为例)

1.以上一篇文档为基础

2.创建jdbc外部属性文件

  application.properties此名字为默认文件名z在使用是不需要使用 @Propertysource(“classpath:jdbc.properties”)

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://lcoalhost:3306/shop
jdbc.userName=root
jdbc.password=12345

3.获取application.properties中的属性

@ConfigurationProperties(prefix = "jdbc") @Data public class JdbcProperties { String driverClassName; String url; String userName; String password; }

 4.注入spring容器通过  java配置类

//标记为一个配置类 代替xml文件
@Configuration
//拿到属性 @EnableConfigurationProperties(JdbcProperties.
class) public class JdbcConfig { @Bean //将返回值加入bean容器 代替<bean>标签 public DataSource dataSource(JdbcProperties prop) { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(prop.getDriverClassName()); dataSource.setUrl(prop.getUrl()); dataSource.setUsername(prop.getUserName()); dataSource.setPassword(prop.getPassword()); return dataSource; } }

 

 

 

第二种方式

@Configuration public class JdbcConfig { @Bean @ConfigurationProperties(prefix = "jdbc") /**@ConfigurationProperties * 把配置文件的信息,读取并自动封装成实体类 * @ConfigurationProperties还可以直接定义在@bean的注解上,这是bean实体类就不用@Component和@ConfigurationProperties */
    public DataSource dataSource() { DruidDataSource dataSource = new DruidDataSource(); return dataSource; } }