1. 程式人生 > >基於Spring註解的資料庫獲取不同DataSource的總結

基於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