Spring Java类的数据库信息配置
编写JDBC.properties文件
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:/localhost:3306/test
jdbc.username=root
jdbc.password=root
配置类:JdbcConfig
@Configuration
@PropertySource("classpath:JDBC.properties")
public class JdbcConfig {
@Value("${jdbc.driverClassName}")
String driver;
@Value("${jdbc.url}")
String url;
@Value("${jdbc.username}")
String username;
@Value("${jdbc.password}")
String password;
@Bean
public DataSource dataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driver);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
return druidDataSource;
}
}
SpringBoot属性注入方式1(使用地方较多时)
更改jdbc.properties为application.properties,更改后SpringBoot会帮我们读取application.properties(application.yml/application.yaml) 中的配置信息(因为我们引入的SpringBoot父级依赖中引入了读取这类文件)
创建Jdbc.properties类:
@ConfigurationProperties(prefix = "jdbc")//获取application.properties内容,内容前缀前缀为jdbc
@Data //lombook的注解,为我门提供get、set、toString等方法
public class JdbcProperties {
String driverClassName;
String url;
String username;
String password;
}
配置类:JdbcConfig
@Configuration
@EnableConfigurationProperties(JdbcProperties.class)//引入JdbcProperties类的信息
public class JdbcConfig {
@Bean
public DataSource dataSource(JdbcProperties properties){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(properties.getDriverClassName());
druidDataSource.setUrl(properties.getUrl());
druidDataSource.setUsername(properties.getUsername());
druidDataSource.setPassword(properties.getPassword());
return druidDataSource;
}
}
SpringBoot属性注入方式2(单一地方使用时)
去掉Jdbc.properties类,使用 @ConfigurationProperties 注解,获取到application.properties文件的内容,自动封装到DataSource中对应的有set方法的属性中。
@Configuration
public class JdbcConfig {
@Bean
@ConfigurationProperties(prefix = "jdbc")
public DataSource dataSource(){
return new DruidDataSource();
}
}