基於Spring註解的資料庫獲取不同DataSource的總結
/**
*
*/
package com.soundsystem.config;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jndi.JndiObjectFactoryBean;
/**
* @author zhangpeng
*
*/
@Configuration
public class DatasourceConfig {
/**
* 嵌入式資料庫 基於記憶體資料庫
* 適合開發環境,讓資料庫處於一個給定的狀態
* ****
* @return
*/
@Bean(destroyMethod = "shutdown")
@Profile("dev")
public DataSource embeddedDataSource () {
return (DataSource) new EmbeddedDatabaseBuilder().addScript("classpath:schema.sql")
.addScript("classpath:test-data.sql").build();
}
/**
* 通過jndi獲取datasource 能夠讓容器決定該如何建立這個datasource,甚至包括切換為容器管理的連線池。
* 適合 生產環境 對於開發環境來說會增加不必要的複雜性。
* @return
*/
@Bean
public DataSource jndiDataSource() {
JndiObjectFactoryBean jndiObjectFactoryBean=new JndiObjectFactoryBean();
jndiObjectFactoryBean.setJndiName("jdbc/myds");
jndiObjectFactoryBean.setResourceRef(true);
jndiObjectFactoryBean.setProxyInterface(javax.sql.DataSource.class);
return (DataSource) jndiObjectFactoryBean.getObject();
}
/**
* 適合測試環境
* @return
*/
@Bean
public DataSource dbcpDataSource(){
BasicDataSource basicDataSource=new BasicDataSource();
basicDataSource.setUrl("");
basicDataSource.setPassword("");
basicDataSource.setUsername("");
basicDataSource.setInitialSize(20);
basicDataSource.setMaxActive(30);
return basicDataSource;
}
}
相關推薦
基於Spring註解的資料庫獲取不同DataSource的總結
/** * */ package com.soundsystem.config; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; import o
基於Spring註解@AspectJ的AOP
新增依賴 <!-- aspectj 方式的AOP,需要加入下面三個包 --> <dependency> <groupId>org.aspectj</groupId> <artif
基於Spring註解方式配置Quartz
之前我們都是通過基於XML的方式實現Spring Quartz 雖然配置起來特別的方便,但是Spring還支援基本註解的方式來配置,這樣做不僅更加簡單,而且程式碼量也更加少了很多。 1、配置需要排程的類,並添加註解 import java.text.SimpleDate
4.7 基於Spring註解的定時任務(@Schedule) > 我的程式猿之路:第三十七章
Cron表示式是一個字串,字串以5或6個空格隔開,分為6或7個域,每一個域代表一個含義,Cron有如下兩種語法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month
spring連線資料庫,做datasource測試時報錯:cannot load com.mysql.jdbc.driver。解決方法
我在學習馬士兵老師spring-DataSource課程時,spring連線mysql時報錯: cannot load com.mysql.jdbc.driver 查閱得知原因是,我用的mysql是8.0版,版本太高。 需要先將原來的mysql解除安裝並清除登錄檔,方法參見 https://
基於spring註解方式配置和使用spring AOP
spring AOP,面向切面程式設計,通常應用於系統的日誌,事物資訊輸出部分,如下圖中所示,當A呼叫B的f2方法時,如果我們想要讓系統在f2呼叫前輸出一些呼叫前的資訊,在f2呼叫結束後輸出一些呼叫結束後的資訊,一般的想法就是在呼叫f2前去呼叫C的f3,然後在呼
基於spring註解和xml配置的webService
1.需要的jar包 commons-logging-1.1.1.jar cxf-2.4.3.jar neethi-3.0.1.jar spring-aop-3.0.5.RELEASE.jar spring-asm-3.0.5.RELEASE.jar spring-beans
quartz 基於spring註解實現
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org
基於spring註解,泛型的使用
/** * Service基類,所有Service均繼承該類 * */ public abstract class BaseService<T> { /* 所有子類直接通過該SQLSession操作資料庫 */ @Resou
基於Spring註解實現的工廠模式
摘要: 工廠模式是大家熟知的一種設計模式,在spring BeanFactory將這模式運用自如。 前面講過如果通過xml配置的方式實現,今天我們來講講如何通過註解的方式實現工廠模式。 主要思路 1. 掃描classPath下的的類,將這些class儲存到setmap中
37--Spring 基於tx標籤和基於@Transactional註解的宣告式事物介紹
上一節中已經對Spring事物的一些基本概念和核心介面做了簡介,並且演示了程式設計式事物實現,接下來介紹Spring中的另一種事物管理實現–宣告式事物。 其底層建立在 AOP 的基礎之上,對方法前後進行攔截,然後在目標方法開始之前建立或者加入一個事務,在執行完目標方法之後根據執行情況
spring事務管理,基於xml配置完成事務回滾;spring中資料庫表中欄位名和pojo中屬性名不一致時候,實現RowMapper介面手動封裝
宣告使用JDK8,spring5.0.7, 測試說明: service 層 宣告介面進行轉賬,從A轉賬B ,然後對AB 進行更新操作,在事務中對find方法開啟 只讀許可權,無法進行更新操作,造成事務回滾進行測試事務; 主要測試方法:* void tra
基於Spring Boot 動態主從資料庫路由
本文簡單的介紹一下基於Spring boot框架動態連線多資料來源的實現,在配置檔案中新增多個數據源,採用主從配置的方式,配置zjsz、cloud兩個資料庫。 專案的目錄結構: application.properties 核心主要是dynamic和aop目錄 1.首先配置資料來源資
基於Spring Boot技術棧 部落格系統企業級前後端實戰 漸進式講解+Thymeleaf+Elasticsearch+多種資料庫
第1章 Spring Boot 簡介講解Spring Boot的專案背景,已經與其他技術框架(比如,Spring、SpringMVC、SpringCloud等)的關係。簡單介紹下Spring Boot 整個生態系統1-1 _Spring Boot部落格_課程導學1-2 -Spring Boot 是什麼 第2
Json過濾器(基於spring自定義註解的方式,對欄位進行過濾)
在實際的開發過程中,會經常遇到如下情景: 後臺需要給前端返回JSON資料,但是查詢出來返回的資料裡面有很多屬性是不需要的 本文通過自定義註解的方式進行實現,對response進行攔截,通過註解引數,設定欄位資訊(即,過濾哪些欄位,保留哪些欄位),並將bean自動封裝
Spring的AOP的基於AspectJ註解開發
1 配置檔案的頭 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
spring事物配置,宣告式事務管理和基於@Transactional註解的使用
spring支援程式設計式事務管理和宣告式事務管理兩種方式。 程式設計式事務管理使用TransactionTemplate或者直接使用底層的PlatformTransactionManager。對於程式設計式事務管理,spring推薦使用Transactio
java spring註解總結
註解是個好東西,但好東西我們也是看見過,整理過,理解過,用過才知道好。不求我們每個都記住,但求保有印象,在需要的時候能提取出來再查詢相關資料,平時工作就不會顯得那麼被動了。[email protected]註解該類等價 與XML中配置beans,相當於Ioc容器,它
Spring註解開發8 --- @Profile不同環境下動態註冊
目錄 3.例子 Spring為我們提供根據當前環境,動態的啟用和切換一系列元件的功能。 環境:開發環境,測試環境,生產環境 1. @Profile:指明元件在那個環境下使用,不指定任何環境都能註冊這個元件 1)、加了環境表示的bean,只有這個環境被
基於spring實現多資料來源通過註解切換
主要使用spring的AbstractRoutingDataSource實現,先簡單瞭解下AbstractRoutingDataSource 我們配置的多個數據源會放在AbstractRoutin