下面是SpringBoot配置Druid三种方式的详细攻略,包括纯配置文件配置。
什么是Druid
Druid是一个开源的数据库连接池和监控平台,具有更快的速度和更好的性能。Druid可以提供实时的SQL监控、SQL防火墙、StatFilter、日志记录等功能。
SpringBoot配置Druid
- 使用@Configuration和@PropertySource设置数据库连接池属性。
@Configuration
@PropertySource("classpath:application.properties")
public class DruidConfig {
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(dbUrl);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDriverClassName(driverClassName);
return dataSource;
}
}
- 使用@ConfigurationProperties批量设置数据库连接池属性。
@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class DruidConfig {
private String url;
private String username;
private String password;
private String driverClassName;
// 省略getter和setter
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDriverClassName(driverClassName);
return dataSource;
}
}
- 使用application.properties单独配置数据库连接池属性。
在application.properties中添加以下内容:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
然后在代码中使用@ImportResource导入配置文件。
@Configuration
@ImportResource(locations = {"classpath:application.properties"})
public class DruidConfig {
@Bean
public DataSource dataSource() {
return new DruidDataSource();
}
}
以上是SpringBoot配置Druid的三种方式。
示例
我用第一种方式给出一个示例,让大家更好地理解。
@Configuration
@PropertySource("classpath:application.properties")
public class DruidConfig {
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(dbUrl);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDriverClassName(driverClassName);
return dataSource;
}
@Bean
public JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(dataSource());
}
}
在application.properties中添加以下内容:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
然后就可以在代码中直接使用jdbcTemplate了。
@Component
public class UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public User findUserById(long id) {
String sql = "select * from t_user where id = ?";
Object[] params = {id};
return jdbcTemplate.queryForObject(sql, params, new BeanPropertyRowMapper<>(User.class));
}
}
以上就是使用SpringBoot配置Druid的步骤和示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot配置 Druid 三种方式(包括纯配置文件配置) - Python技术站