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; } }