首页 > 技术文章 > springboot 整合druid,使用postgresql

wangxc20181130 2019-11-28 15:41 原文

1.首先引入相关依赖

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

2.配置yml
spring:
datasource:
druid:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://ip:port/**?&ssl=false
username: postgres
password: 123456
initial-size: 1
max-active: 128
min-idle: 96
filter:
stat:
log-slow-sql: true
db-type: postgresql
enabled: true
3.配置类
@Slf4j
@Configuration
public class DruidConfig {
@ConfigurationProperties(prefix = "spring.datasource.druid")
@Bean(destroyMethod = "close", initMethod = "init") //第一次使用,页面会出现(*) property for user to setup,是因为项目中没有请求过数据库,请求一次就不需要括号中的东西了
public DruidDataSource druid() {
DruidDataSource druidDataSource = new DruidDataSource();
return druidDataSource;
}
/**
* 配置druid管理页面的访问控制
* 访问网址: http://127.0.0.1:7070/druid
* @return
*/
@Bean
public ServletRegistrationBean<Servlet> druidServlet() {
log.info("init Druid Servlet Configuration");
ServletRegistrationBean<Servlet> servletRegistrationBean = new ServletRegistrationBean<>();
servletRegistrationBean.setServlet(new StatViewServlet()); //配置一个拦截器
servletRegistrationBean.addUrlMappings("/druid/*"); //指定拦截器只拦截druid管理页面的请求
HashMap<String, String> initParam = new HashMap<String,String>();
initParam.put("loginUsername", "admin"); //登录druid管理页面的用户名
initParam.put("loginPassword", "admin"); //登录druid管理页面的密码
initParam.put("resetEnable", "true"); //是否允许重置druid的统计信息
initParam.put("allow", ""); //ip白名单,如果没有设置或为空,则表示允许所有访问
servletRegistrationBean.setInitParameters(initParam);
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean<WebStatFilter> filterRegistrationBean() {
FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<WebStatFilter>();
filterRegistrationBean.setFilter(new WebStatFilter());
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}

到此结束,浏览器输入地址访问

 

推荐阅读