SpringBoot基于注解配置druid连接池
1、在这个项目中我们需要依赖的jar主要有如下两个,分别是mysql-connector-java和druid。
<dependency>mysql-connector-java <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency><!-- alibaba datasource --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.18</version></dependency>
2、我们还需要在application.properties配置文件中配置数据库的连接信息,如下图所示。127.0.0.1:3306表示数据库的Ip地址和端口号,127.0.0.1是本机,也可以用localhost表示,3306是mysql数据库安装默认的端口号,另外test是我创建的数据库,下方的数据库用户名和密码也是安装mysql时设置的。
spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8spring.datasource.username = rootspring.datasource.password = 123456spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
3、接下来就到了最关键的druid注解配置,我们创建一个DruidStatViewServlet类去继承StatViewServlet。该类中没有任何方法,我们只需要在类上添加@WebServlet注解即可,配置如下所示,我们可以看到下方访问"/druid/*路径时设置了用户名和密码,该设置为druid监控页面,后面启动服务后会看到该页面。
@WebServlet(urlPatterns = "/druid/*", initParams = { @WebInitParam(name = "allow", value = "127.0.0.1"),// IP白名单(没有配置或者为空,则允许所有访问) @WebInitParam(name = "deny", value = "192.0.0.1"),// IP黑名单 (存在共同时,deny优先于allow) @WebInitParam(name = "loginUsername", value = "admin"),// 用户名 @WebInitParam(name = "loginPassword", value = "123456"),// 密码 @WebInitParam(name = "resetEnable", value = "false")// 禁用HTML页面上的“Reset All”功能 })public class DruidStatViewServlet extends StatViewServlet {}
4、接下来我们创建一个DruidStatFilter类并继承WebStatFilter,在类上方添加@WebFilter注解。
@WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*", initParams = { @WebInitParam(name = "exclusions", value = "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")//忽略资源 })public class DruidStatFilter extends WebStatFilter {}
5、以上配置完成后,开始写SpringBoot的启动类了,该类使用@SpringBootApplication注解表明是一个SpringBoot的应用。注意使用注解配置druid必须要带上@ServletComponentScan,否则会报错。
6、我们启动应用后,假设启动的为localhost的8080端口,在服务启动后,请求http://localhost:8080/druid/会跳转到http://localhost:8080/druid/login.html页面,在该页面我们输入上面设置的用户名(admin)和密码(123456),登录后可以查看druid的监控页面,如下图所示。