Druid数据源
添加相应的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
将数据源添加到springboot容器中
@Configuration
public class DataConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druid(){
return new DruidDataSource();
}
//配置监控servelt
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String,String> initParams = new HashMap<>();
initParams.put("loginUsername", "admin");
initParams.put("loginPassword", "123456");
initParams.put("allow","");;
initParams.put("deny", "localhost");
bean.setInitParameters(initParams);
return bean;
}
//监控Filter
@Bean
public FilterRegistrationBean statViewFilter(){
FilterRegistrationBean bean = new FilterRegistrationBean<>();
bean.setFilter(new StatViewFilter());
Map<String,String> initParams = new HashMap<>();
initParams.put("exclusions","*.js,*.html,*.css,/druid/*");
bean.setInitParameters(initParams);
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
}
- FilterRegistrationBean : SpringBoot添加Filter
- ServletRegistrationBean : SpringBoot添加Servlet
- 监控执行情况只需发/druid
配置数据源
spring:
datasource:
url: jdbc:mysql:///students
type: com.alibaba.druid.pool.DruidDataSource
username: *****
password: *****
driver-class-name: com.mysql.jdbc.Driver
maxActive: 8
initialSize: 5
因为com.alibaba.druid.pool.DruidDataSource存在对应的映射,即可以将配置文件信息与对象属性进行绑定
com.alibaba.druid.support.http.StatViewServlet
- 监控Servlet
public class StatViewServlet extends ResourceServlet
可配置的属性
public abstract class ResourceServlet extends HttpServlet {
private static final Log LOG = LogFactory.getLog(ResourceServlet.class);
public static final String SESSION_USER_KEY = "druid-user";
public static final String PARAM_NAME_USERNAME = "loginUsername";
public static final String PARAM_NAME_PASSWORD = "loginPassword";
public static final String PARAM_NAME_ALLOW = "allow";
public static final String PARAM_NAME_DENY = "deny";
public static final String PARAM_REMOTE_ADDR = "remoteAddress";
com.alibaba.druid.support.http.StatViewFilter
- 监控Filter