Java Druid https://www.bilibili.com/video/BV1PE411i7CV?p=32&spm_id_from=pageDriver

一、整合Druid数据源

1、导入数据源:https://mvnrepository.com/artifact/com.alibaba/druid

(1)选择1.1.12

在pom中配置依赖

配置完成后,全局搜索druid,看能否能搜到,此时遇见一个问题,配置的依赖不生效,参考https://blog.csdn.net/mgdj25/article/details/104638174,重新导入pom文件解决

一般util文件里面都是做的一些封装,封装好的东西可以拿来直接使用

(2)想使用自己的数据源需要在properties中先指定,通过type来制定数据源,制定之后就使用的是指定的数据源

重新执行文件


@SpringBootTest
class Springboot01ApplicationTests {

    @Autowired
    DataSource dataSource;
    @Test
    void contextLoads() throws SQLException {
        //查看默认数据源
        System.out.println(dataSource.getClass());

        //获得数据源链接
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        //关闭数据库链接
        connection.close();
    }

}

发现数据源变成了druid数据源,说明了使用的druid的数据源,但是底层仍然是jdbc,因为底层就是使用的jdbc

(3)配置application,一些常规的功能,此处直接拷贝自:https://mp.weixin.qq.com/s?__biz=Mzg2NTAzMTExNg==&mid=2247483786&idx=1&sn=f5f4ca792611af105140752eb67ce820&scene=19#wechat_redirect

#Spring Boot 默认是不注入这些属性值的,需要自己绑定
    #druid 数据源专有配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true

    #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
    #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority
    #则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

druid的优势之一就是监控的功能,配置filters属性

此时会报错,因为上面filters中使用了log4j,pom文件中没有导入这个依赖,导入这个依赖即可

(4)执行上述操作,重新跑controller中的文件,结果和之前使用jdbc的方式结果一样

(5)他的强大之处,在于可以自定义配置,新增config包,@Configuration,一个个config对应的就是一个个beean,xml,对应一个个文件

绑定yaml:(1)绑定bean(2)绑定yaml文件

(6)做后台监控功能

@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource DruidDataSource(){
        return new DruidDataSource();
    }

    //后台监控
    @Bean
    public ServletRegistrationBean statViewServlet(){
        //这段固定的进入配置监控
        ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
        //后台需要有人登陆账号,密码

        HashMap<String,String> init = new HashMap<>();
        //增加配置
        init.put("LoginUsername","admin");//登陆key,是固定的LoginUsername,LoginPassword
        init.put("LoginPassword","1234");

        //允许谁可以访问
        init.put("allow","");

        //禁止谁可以访问
        init.put("huahua","192.1.2.3");

        bean.setInitParameters(init);//设置初始化参数
        return bean;
    }
}

输入代码中设置的账号密码后,可以进入查询监控面板

(7)

a、因为springboot内置了servlet容器,所以没有web.xml

b、

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuruhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值