1.以上一篇文档为基础

2.创建jdbc外部属性文件

  application.properties此名字为默认文件名在使用是不需要使用 @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;
}
}
05-28 15:03