zoukankan      html  css  js  c++  java
  • 带着萌新看springboot源码10(springboot+JdbcTemplate+druid)

      上一节把springboot和jdbcTemplate大概用法说了一下,以及大概看了一下源码,还说了加载sql文件时的原理。

      这一节来看看自动注入JdbcTemplate的原理,顺便用一用Druid数据源(功能比较强大,可以想象成一个监督设备,可以监控很多东西)

      话说,sql文件要放在类路径下,建表sql(schema-all.sql或者schema.sql),插入数据的sql(data-all.sql或者data.sql),那能不能自定义名字呢?

    1.自定义sql文件名称

      在yml文件里面,指定spring.datasource.schema和spring.datasource.data(我们配置的这个也会绑定到那个DataSourceProperties类上)

      

      其实从上一节所说的那个监听器里面的getScripts方法可以清晰的看到

      

    2.自动配置JdbcTemplate原理(估计又是哪个自动配置类...嘿嘿!)

      其实springboot内部就自动为我们配置好了JdbcTemplate,我们只需要加个@Autowired注解就能自动注入

      具体的原理我们来看看一个自动配置类JdbcTemplateAutoConfiguration

    3.使用Druid数据源以及数据源自动装配原理

      想要使用Druid数据源,必须先导入依赖

      yml文件配置数据源(想要看看Druid独有的所有属性,可以点这个数据源进去看看)

      

      这个时候注意,我们要监控web应用所有的行为,怎么监控呢?肯定是另外设置一个非常隐秘的url(对应一个servlet),并且我们访问web应用,有的东西没什么必要监控比如一些静态html(这对应一个filter)。

      所以,配置类中除了要配置一下数据源和yml文件绑定,还要另外设置一个Servlet,以及Filter

      随意找个配置类:

      配置servlet初始化参数时,具体所有的可配置参数在StatViewServlaet的父类里面,不要忘记配置这个秘密的url。

      

      过滤器配置

      运行应用,输入网址localhost:8080/druid/   

      效果展示:

      

      到这里,Druid数据源的切换以及配置监控的功能算是初步过了一遍。具体的要自己去好好试试。不过,主要的是为什么可以这么用啊?下面就来看看这其中的自动配置原理。

      各位可以多在这里看看,每个功能的自动配置类和配置类都可以在这里找到,找到jdbc

      

      

       假如上面这些数据源都不是你想要用的,你还可以自定义的数据源(比如Druid等优秀的数据源),我们重点就来看看这里

      可以点开看看maybeGetDrivaerClassName()方法和bind()方法

     

      

      ok,大概的看了看自定义数据源的源码,其实也就那样,不过也提醒了我们,假如我们要更换数据源。可以先来看看这个配置类里面有没有符合条件的,有的话直接导入依赖,然后sprin.datasource.type=xxx,以及修改一些默认参数;没有的话就自定义,其实还是导入依赖,然后配置一下独有的属性(如果配置独有属性就要在配置类中配个DataSource了)。

      这次是最基本的springboot+JdbcTemplate+Druid,后面可能还会整合一些其他的持久层框架,emmmm.....有时间再慢慢写。。

  • 相关阅读:
    黑马java课程2222
    屏幕亮度软件和一些自己必用的软件设置
    ahk保存
    天天洗一次澡还真是好方法
    自动化测试 就这两张图
    python __init__.py用途
    bash检查文件格式
    cygwin中运行命令提示command not found的解决方法
    Python批量插入SQL Server数据库
    怎样去掉FireFox的导入向导
  • 原文地址:https://www.cnblogs.com/wyq1995/p/9998210.html
Copyright © 2011-2022 走看看