1. 程式人生 > >springboot配置druid資料來源和監控

springboot配置druid資料來源和監控

資料來源使用的是阿里的Driud。

1.配置之前 先看一下xml的配置。

-------------------spring-mybatis.xml檔案--------------------------
<!-- 引入屬性檔案 -->
<context:property-placeholder location="classpath:config.properties" />
<!-- 配置資料來源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
    init-method="init" destroy-method="close">
    <property name="url" value="${jdbc_url}" />
    <property name="username" value="${jdbc_username}" />
    <property name="password" value="${jdbc_password}" />
    <!-- 初始化連線大小 -->
    <property name="initialSize" value="0" />
    <!-- 連線池最大使用連線數量 -->
    <property name="maxActive" value="20" />
    <!-- 連線池最大空閒 -->
    <property name="maxIdle" value="20" />
    <!-- 連線池最小空閒 -->
    <property name="minIdle" value="0" />
    <!-- 獲取連線最大等待時間 -->
    <property name="maxWait" value="60000" />
    <!-- <property name="poolPreparedStatements" value="true" /> <property 
        name="maxPoolPreparedStatementPerConnectionSize" value="33" /> -->
    <property name="validationQuery" value="${validationQuery}" />
    <property name="testOnBorrow" value="false" />
    <property name="testOnReturn" value="false" />
    <property name="testWhileIdle" value="true" />
    <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 -->
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 -->
    <property name="minEvictableIdleTimeMillis" value="25200000" />
    <!-- 開啟removeAbandoned功能 -->
    <property name="removeAbandoned" value="true" />
    <!-- 1800秒,也就是30分鐘 -->
    <property name="removeAbandonedTimeout" value="1800" />
    <!-- 關閉abanded連線時輸出錯誤日誌 -->
    <property name="logAbandoned" value="true" />
    <!-- 監控資料庫 -->
    <!-- <property name="filters" value="stat" /> -->
    <!-- <property name="filters" value="mergeStat" />-->
</bean>
<!-- myBatis檔案 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <!-- 自動掃描entity目錄, 省掉Configuration.xml裡的手工配置 -->
    <property name="mapperLocations" value="classpath:/mybatis/*Mapper.xml" />
    <property name="configLocation" value="classpath:mybatis-interceptor.xml" /> 
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.lcl.springBoot.dao" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
-------------------mybatis-interceptor.xml檔案------------------------------
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-config.dtd">  
<!-- 配置管理器 -->  
<configuration>  
<plugins>  
    <!-- com.github.pagehelper為PageHelper類所在包名 -->  
    <plugin interceptor="com.github.pagehelper.PageHelper">  
        <!-- 4.0.0以後版本可以不設定該引數 -->  
        <property name="dialect" value="mysql"/>  
        <!-- 該引數預設為false -->  
        <!-- 設定為true時,會將RowBounds第一個引數offset當成pageNum頁碼使用 -->  
        <!-- 和startPage中的pageNum效果一樣-->  
        <property name="offsetAsPageNum" value="true"/>  
        <!-- 該引數預設為false -->  
        <!-- 設定為true時,使用RowBounds分頁會進行count查詢 -->  
        <property name="rowBoundsWithCount" value="true"/>  
        <!-- 設定為true時,如果pageSize=0或者RowBounds.limit = 0就會查詢出全部的結果 -->  
        <!-- (相當於沒有執行分頁查詢,但是返回結果仍然是Page型別)-->  
        <property name="pageSizeZero" value="true"/>  
        <!-- 3.3.0版本可用 - 分頁引數合理化,預設false禁用 -->  
        <!-- 啟用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最後一頁 -->  
        <!-- 禁用合理化時,如果pageNum<1或pageNum>pages會返回空資料 -->  
        <property name="reasonable" value="true"/>  
        <!-- 3.5.0版本可用 - 為了支援startPage(Object params)方法 -->  
        <!-- 增加了一個`params`引數來配置引數對映,用於從Map或ServletRequest中取值 -->  
        <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置對映的用預設值 -->  
        <!-- 不理解該含義的前提下,不要隨便複製該配置 -->  
        <property name="params" value="pageNum=start;pageSize=limit;"/>  
        <!-- 支援通過Mapper介面引數來傳遞分頁引數 -->  
        <property name="supportMethodsArguments" value="true"/>  
        <!-- always總是返回PageInfo型別,check檢查返回型別是否為PageInfo,none返回Page -->  
        <property name="returnPageInfo" value="check"/>  
    </plugin>  
</plugins>  
</configuration> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87

這裡面可以看到配置了DruidDataSource、SqlSessionFactoryBean、MapperScannerConfigurer三個bean,其中DruidDataSource配置了最基本的連結屬性;SqlSessionFactoryBean配置資料來源、mapper.xml路徑和PageHelper外掛填充;MapperScannerConfigurer設定的自動掃描的基本包basePackage跟sqlSessionFactory。 
對應的在springBoot中,我們如果不用xml配置,則可以用@Configuration、@bean來進行註解配置。 
@Configuration註解,等價 與XML中配置beans;用@Bean標註方法等價於XML中配置bean。

2.看springBoot配置,首先配置DruidDataSource,建立一個DruidDBConfig類,表注@Configuration。程式碼如下:

@Configuration  
public class DruidDBConfig {  
    private Logger logger = LoggerFactory.getLogger(DruidDBConfig.class);   
    @Value("${spring.datasource.url}")  
    private String dbUrl;   
    @Value("${spring.datasource.username}")  
    private String username;  
    @Value("${spring.datasource.password}")  
    private String password;  
    @Value("${spring.datasource.driverClassName}")  
    private String driverClassName;  
    @Value("${spring.datasource.initialSize}")  
    private int initialSize;   
    @Value("${spring.datasource.minIdle}")  
    private int minIdle;  
    @Value("${spring.datasource.maxActive}")  
    private int maxActive;  
    @Value("${spring.datasource.maxWait}")  
    private int maxWait;  
    @Value("${spring.datasource.timeBetweenEvictionRunsMillis}")  
    private int timeBetweenEvictionRunsMillis;  
    @Value("${spring.datasource.minEvictableIdleTimeMillis}")  
    private int minEvictableIdleTimeMillis;  
    @Value("${spring.datasource.validationQuery}")  
    private String validationQuery;   
    @Value("${spring.datasource.testWhileIdle}")  
    private boolean testWhileIdle;  
    @Value("${spring.datasource.testOnBorrow}")  
    private boolean testOnBorrow;  
    @Value("${spring.datasource.testOnReturn}")  
    private boolean testOnReturn;  
    @Value("${spring.datasource.poolPreparedStatements}")  
    private boolean poolPreparedStatements;   
    @Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")  
    private int maxPoolPreparedStatementPerConnectionSize;  
    @Value("${spring.datasource.filters}")  
    private String filters;    
    @Value("{spring.datasource.connectionProperties}")  
    private String connectionProperties;   
    @Bean(value="dataSource")     //宣告其為Bean例項  
    @Primary  //在同樣的DataSource中,首先使用被標註的DataSource  
    public DataSource dataSource(){  
        DruidDataSource datasource = new DruidDataSource();  
        datasource.setUrl(this.dbUrl);  
        datasource.setUsername(username);  
        datasource.setPassword(password);  
        datasource.setDriverClassName(driverClassName);  
        //configuration  
        datasource.setInitialSize(initialSize);  
        datasource.setMinIdle(minIdle);  
        datasource.setMaxActive(maxActive);  
        datasource.setMaxWait(maxWait);  
        datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);  
        datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);  
        datasource.setValidationQuery(validationQuery);  
        datasource.setTestWhileIdle(testWhileIdle);  
        datasource.setTestOnBorrow(testOnBorrow);  
        datasource.setTestOnReturn(testOnReturn);  
        datasource.setPoolPreparedStatements(poolPreparedStatements);  
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);  
        try {  
            datasource.setFilters(filters);  
        } catch (SQLException e) {  
            logger.error("druid configuration initialization filter", e);  
        }  
        datasource.setConnectionProperties(connectionProperties);  
        return datasource;  
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

至此,DruidDataSource資料來源在系統執行的時候,會自動建立一個bean。

3.若想使用Druid的監控,則需要額外配置StatViewServlet 和 filterRegistrationBean,這裡單獨拎出來便於理解,此處配置也可以放置在DruidDBConfig類中。

@Configuration
public class DruidConfiguration { 
   /**
    * 註冊一個StatViewServlet
    * @return
    */
   @Bean
   public ServletRegistrationBean DruidStatViewServle2(){
          //org.springframework.boot.context.embedded.ServletRegistrationBean提供類的進行註冊.
          ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
          //新增初始化引數:initParams
          //白名單:
          servletRegistrationBean.addInitParameter("allow","127.0.0.1");
          //IP黑名單 (存在共同時,deny優先於allow) : 如果滿足deny的話提示:Sorry, you are not permitted to view this page.
          servletRegistrationBean.addInitParameter("deny","192.168.1.73");
          //登入檢視資訊的賬號密碼.
          servletRegistrationBean.addInitParameter("loginUsername","admin2");
          servletRegistrationBean.addInitParameter("loginPassword","123456");
          //是否能夠重置資料.
          servletRegistrationBean.addInitParameter("resetEnable","false");
          return servletRegistrationBean;
   }   
   /**
    * 註冊一個:filterRegistrationBean
    * @return
    */
   @Bean
   public FilterRegistrationBean druidStatFilter2(){       
          FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
          //新增過濾規則.
          filterRegistrationBean.addUrlPatterns("/*");
          //新增不需要忽略的格式資訊.
          filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid2/*");
          return filterRegistrationBean;
   } 
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

這裡的配置類同等於xml配置檔案:

<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
    <param-name>exclusions</param-name>
    <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
</filter>
<filter-mapping>
    <filter-name>DruidWebStatFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
    <servlet-name>DruidStatView</servlet-name>
    <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DruidStatView</servlet-name>
    <url-pattern>/druid/*</url-pattern>
</servlet-mapping>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

同樣的還有另外一種方式:

1)建立DruidStatFilter。

@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*",  
initParams={  
    @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")//忽略資源  
}  
)  
public class DruidStatFilter extends WebStatFilter {
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2)建立DruidStatViewServlet。

@WebServlet(urlPatterns="/druid/*",  
initParams={  
     @WebInitParam(name="allow",value="127.0.0.1,192.168.163.1"),// IP白名單(沒有配置或者為空,則允許所有訪問)  
     @WebInitParam(name="deny",value="192.168.1.73"),// 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 {  
    private static final long serialVersionUID = -2688872071445249539L; 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

4.配置sqlSessionFactory,此bean是SqlSessionFactoryBean型別。

@Configuration
public class MyBatisConfig implements TransactionManagementConfigurer{
    private Logger logger = LoggerFactory.getLogger(MyBatisConfig.class);
    //@Autowired 
    //private DruidDataSource dataSource;
    @Value("${spring.datasource.type}")  
    private Class<? extends DataSource> dataSourceType;  
    @Bean(name="dataSource", destroyMethod = "close", initMethod="init")  
    @ConfigurationProperties(prefix = "spring.datasource")  
    public DataSource dataSource() {
        return DataSourceBuilder.create().type(dataSourceType).build();  
    }  
    @Bean(name = "sqlSessionFactory")//3
    public SqlSessionFactory sqlSessionFactoryBean() {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource());
        //bean.setTypeAliasesPackage("com.hjf.boot.demo.boot_mybatis.domain");
        //分頁外掛 //4
        PageHelper pageHelper = new PageHelper();
        Properties properties = new Properties();
        properties.setProperty("reasonable", "true");
        properties.setProperty("supportMethodsArguments", "true");
        properties.setProperty("returnPageInfo", "check");
        properties.setProperty("params", "count=countSql");
        pageHelper.setProperties(properties);
        //新增外掛
        bean.setPlugins(new Interceptor[]{pageHelper});
        //新增XML目錄
        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        try {
            bean.setMapperLocations(resolver.getResources("classpath:/mybatis/*Mapper.xml"));
            return bean.getObject();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
    @Bean
    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
    @Bean
    public PlatformTransactionManager annotationDrivenTransactionManager() {
        return new DataSourceTransactionManager(dataSource());
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

5.配置MapperScannerConfigurer,設定自動掃描。

@Configuration
@AutoConfigureAfter(MyBatisConfig.class)//見文思意,在MyBatisConfig配置之後載入
public class MyBatisMapperScannerConfig {
    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
        //對應<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
        mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
        //對應<property name="basePackage" value="com.lcl.springBoot.dao" />
        mapperScannerConfigurer.setBasePackage("com.lcl.springBoot.dao");
        return mapperScannerConfigurer;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

至此配置完畢,對於資原始檔在resources目錄下:

 resources
   --application.properties//存放資原始檔
   --mybatis//資料夾存放mapper檔案
       --DemoMapper.xml //本人用的測試mapper
  • 1
  • 2
  • 3
  • 4
  • 5

application.properties檔案內容(千篇一律,滿大街都是= =!):

##DATASOURCE(DataSourceAutoConfiguration&DataSourceProperties)
# 驅動配置資訊   
spring.datasource.url = jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username= root
spring.datasource.password=
spring.datasource.driverClassName=com.mysql.jdbc.Driver 
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 
##連線池屬性配置
spring.datasource.initialSize=5  
spring.datasource.minIdle=5  
spring.datasource.maxActive=20  
spring.datasource.maxWait=60000  
spring.datasource.timeBetweenEvictionRunsMillis=60000  
spring.datasource.minEvictableIdleTimeMillis=300000  
spring.datasource.validationQuery=SELECT 1 FROM DUAL  
spring.datasource.testWhileIdle=true  
spring.datasource.testOnBorrow=false  
spring.datasource.testOnReturn=false  
spring.datasource.poolPreparedStatements=true  
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20  
spring.datasource.filters=stat,wall,log4j  
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

結尾:在MyBatisConfig中關於DruidDataSource,一開始使用的形式是:

    @Autowired 
    private DruidDataSource dataSource;
  • 1
  • 2
  • 3

此時發現不能自動例項化bean,而後改為一下形式解決,沒有看原始碼不知何故,以後有時間在看原始碼進行分析:

    @Value("${spring.datasource.type}")  
    private Class<? extends DataSource> dataSourceType;  
    @Bean(name="dataSource", destroyMethod = "close", initMethod="init")  
    @ConfigurationProperties(prefix = "spring.datasource")  
    public DataSource dataSource() {
        return DataSourceBuilder.create().type(dataSourceType).build();  
    }  

相關推薦

springboot配置druid資料來源監控

資料來源使用的是阿里的Driud。 1.配置之前 先看一下xml的配置。 -------------------spring-mybatis.xml檔案-------------------------- <!-- 引入屬性檔案 --> <cont

spring boot配置druid資料來源監控配置

直接上程式碼: 一.pom.xml中新增依賴 1 <dependency> 2 <groupId>com.github.drtrang</groupId> 3 <artifactId>druid-s

搭建微服務歷程-3 修改服務提供者Provider 使用jpa配置druid資料來源監控

1.使用jpa配置druid資料來源和監控 修改pom檔案 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

從零學springboot—— 配置druid資料來源,並開啟監控

匯入依賴 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version&g

springboot配置Druid資料來源

springboot配置druid資料來源 Author:SimpleWu springboot整合篇 前言 對於資料訪問層,無論是Sql還是NoSql,SpringBoot預設採用整合SpringData的方式進行統一管理,新增大量的自動配置,遮蔽了很多設定。引入了各種XxxTemplat

SpringBoot配置Druid資料來源,持久層分別 mybatis,jdbc

Druid與mybatis整合: application.yaml 配置引數檔案 spring: datasource: #driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.cj.j

springboot配置druid監控

springboot配置druid監控 啟動類上加上 @ServletComponentScan註解 如果 配置的多資料來源 不用預設的 配置 @SpringBootApplication(exclude=DataSourceAutoConfiguration.class)加上這個

SpringBoot配置資料來源(druid)

分析 spring本身是支援多資料來源動態切換的,AbstractRoutingDataSource這個抽象類就是spring提供的一個數據源路由的一個入口,該抽象類暴露了一個determineCurrentLookupKey()的方法,該方法返回值是Object,該返回值作為key

springboot配置資料來源 MySQLSqlServer

看到網上好多例項,都失敗了,報掃描不到mapper檔案,下面是我的完整例項1. pom檔案的驅動jar包加上去,不說了2. application.yml spring: datasource: master: jdbc-url: jdbc

springboot配置資料來源並整合Druid

1.application.properties配置檔案 spring.datasource.type = com.alibaba.druid.pool.DruidDataSource #----DS1---- spring.datasource.primary.u

SpringBoot整合druid資料來源及新增Druid監控頁面

不是不會,只是沒見過,程式碼只是一種工具,首先要會用,應用中使用druid連線池,並新增監控 1.首先引入druid座標 <dependency> <groupId>com.alibaba</groupId>

SpringBoot配置資料來源(結合Druid

在單資料來源的情況下,Spring Boot的配置非常簡單,只需要在application.properties檔案中配置連線引數即可。但是往往隨著業務量發展,我們通常會進行資料庫拆分或是引入其他資料庫,從而我們需要配置多個數據源,下面介紹多資料來源的配置方式。

springboot 引入 druid 資料來源監控

Druid是Java語言中最好的資料庫連線池。Druid能夠提供強大的監控和擴充套件功能。Druid內建提供了一個StatV

SpringBoot配置Druid

root name initials log4 mysql gif 無法 table onsize Druid是Java語言中最好的數據庫連接池。Druid能夠提供強大的監控和擴展功能。關於詳細介紹可查看http://www.iteye.com/magazines/90 S

SpringBoot配置Druid數據源

director 監測 jdbc 最小 upa 禁用 getc 是否有效 顯示調用 在我剛開始接觸JDBC的時候,用的是DriveManager驅動來連接數據庫的。而現在大多是用DataSource。 這裏先簡單說一下區別: 1、datasource是與連接池獲取連接,而D

springboot配置資料來源之Spring Date JPA

多資料來源在專案開發中是經常遇到的,如果同一個專案的不同模組使用的是不同資料庫,就需要多資料來源的處理。現在先寫之前使用JPA的時候遇到多資料來源的配置,後續可能再來個關於mybatis的多資料來源配置。 現在有這樣的需求,專案中有兩個模組,分別是flow與imap,flow需要使用預設資料

springboot配置資料來源(MongoDB主從)

相信看過上一篇文章的小夥伴已經知道了, 這章要講的就是MongoDB主從配置。 在這邊文章中,你將要學到的是在專案中配置主從資料庫,並且相容其他資料庫喲。。這些都是博主專案中需要並且比較重要的知識哦~ 好了,廢話不多說,直接進主題。 1.pom依賴 <depende

springboot配置資料來源(不同DB)

springBoot整合Mysql+MongoDB 因為在專案中需要用到兩個不同的資料來源。但是又不存在於一個DB中。讓我很是苦惱,不得已只能整合多資料來源。 博主文筆不好,只能講乾貨了。。 目標: 使用springBoot整合mys

SpringBoot使用Druid資料來源

Druid是阿里巴巴開源平臺上一個資料庫連線池實現,它結合了C3P0、DBCP、PROXOOL等DB池的優點,同時加入了日誌監控,可以很好的監控DB池連線和SQL的執行情況,可以說是針對監控而生的DB連線池(據說是目前最好的連線池) 一、依賴 為了測試,使用jdbcTempla

spring boot整合mybatis -配置 druid 資料來源

druid 資料庫連線池是由阿里提供,由於其效能很高並且提供了強大的監控功能,所以被越來越多的應用。 第一次配置,很簡單。也沒有花太多時間,最坑的是 druid 監控的配置處理時: # 這裡一定要配置為 "/druid/*",而不是"/druid",瀏覽器會報