`

Spring中配置数据源

 
阅读更多

Spring中配置数据源

 

 

 

在Sping的配置文件中,关于dataSource的配置,就我个人知道的方法大致可以有三种:  

 

1. 一般的配置方法,直接在配置中指定其值。具体的例子我们参照Mysql的配置如下:

 

 <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  <property name="driverClassName">

   <value>com.mysql.jdbc.Driver</value>

  </property>

  <property name="url">

   <value>jdbc:mysql://Service_Path:3306/dataBase</value> <!-- 其中参数:Service_path表示所连接

数据库的IP,dataBase:表示所连接的数据库名 -->

  </property>

  <property name="username" value="root"></property>

  <property name="password" value="root"></property>

 </bean>

 

 

 

  2. 通过读取文件信息资源,其原理与方法一相同。示例:

 <bean id="preferences"

class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">

  <property name="location">

   <value>/WEB-INF/files.properties</value> <!-- 指定文件路径 -->

  </property>

 </bean>

 <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  <property name="driverClassName">

   <value>${driverClassName}</value>   <!-- 这里的值要通过${}进行转义,其driverClassName参数要

在上面的文件中指定 -->

  </property>

  <property name="url">

   <value>${url}</value>

  </property>

  <property name="username" value="${userName}"></property>

  <property name="password" value="${userPwd}"></property>

 </bean>

 

 

 

  3。 通过数据连接池。在此我们只需指定jndiName的值为服务器中配置的数据连接池的JNDI名称即

可。

 <bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean">

  <property name="jndiName" value="jdbc/mysql"></property>

 </bean>

在上述方法配置成功之后,我们可以通过JdbcTemplate绑定dataSource

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

  <property name="dataSource">

   <ref bean="datasource" />

  </property>

 </bean>

 

 

 

 

 

 

两种将DbResource-->sessionFactory--->beanDAO--->beanService方法:

 

一、hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/online_order</property>
		<property name="connection.username">root</property>
		<property name="connection.password">123456</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="connection.autocommit">true</property>
		<property name="show_sql">true</property>
		<property name="format_sql">true</property>
		
    <mapping class="com.org.order.bean.Admin"></mapping>
    <mapping class="com.org.order.bean.Dish"></mapping>
    <mapping class="com.org.order.bean.Log"></mapping>
    <mapping class="com.org.order.bean.Menu"></mapping>
    <mapping class="com.org.order.bean.Reply"></mapping>
    <mapping class="com.org.order.bean.Sort"></mapping>
    <mapping class="com.org.order.bean.Theme"></mapping>
    <mapping class="com.org.order.bean.User"></mapping>
  </session-factory>
</hibernate-configuration>

 

applicationContext.xml

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
	</bean>
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
    
    
    <bean id="adminDao" class="com.org.order.dao.hibernateTemplate.AdminDaoHibernateTemplate">
		<property name="hibernateTemplate" ref="hibernateTemplate"/>
	</bean>
 <bean id="adminService" class="com.org.order.service.impl.AdminServiceImpl">
  <property name="adminDao" ref="adminDao"></property>
 </bean>
    <!--beanService注入  这句话使得在action里面取beanService时,不用写set和get方法,只要在其上一行写@-->
    <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
    </bean>

 

 

 

二、applicationContext.xml配置文件会加载的applicationContext-resources.xml

<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>oracle.jdbc.driver.OracleDriver</value>
		</property>
		<property name="url">
		<!-- 124.207.35.148 -->
			<value>jdbc:oracle:thin:@124.207.35.148:1521:orcl</value>
		</property>
		<property name="username">
			<value>novodemo</value>
		</property>
		<property name="password">
			<value>novodemo_2012</value>
		</property>
	</bean>	

	<!-- =====================SessionFactory Definition==============================-->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
		<property name="lobHandler" ref="lobHandler" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9Dialect
				</prop>
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>

		<property name="mappingDirectoryLocations">
			<list>				
				<value>
					classpath*:com/lenovo/platform/admin/entity
				</value>																		
			</list>
		</property>

 applicationContext.xml配置文件会加载的applicationContext-dao.xml

	<bean id="baseDAOHibernate"
		class="com.lenovo.platform.core.dao.impl.BaseDAOHibernateImpl">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

 applicationContext.xml配置文件会加载的applicationContext-service.xml

<bean id="baseService"
		class="com.lenovo.platform.core.service.impl.BaseServiceImpl">
		<property name="baseDAOHibernate">
			<ref bean="baseDAOHibernate" />
		</property>
		<property name="baseDAOIbatis">
			<ref bean="baseDAOIbatis" />
		</property>		
	</bean>	

 applicationContext-action.xml

	<bean name="/download"
		class="com.lenovo.platform.common.web.action.DownloadAction">
		<property name="employeeService" ref="employeeService" />
	</bean>	

 

分享到:
评论

相关推荐

    spring数据源配置

    数据源(DataSource)在Spring中的配置对于实现持久层操作至关重要。 #### 二、Spring中的数据源配置方式 Spring框架支持多种数据源的配置方式,包括但不限于基于XML的配置、基于注解的配置以及基于Java配置的方式...

    spring配置JNDI数据源

    1. **环境配置**:在应用服务器中配置数据源。例如,在Tomcat中,我们可以在`conf/server.xml`文件的`GlobalNamingResources`元素下配置一个`Resource`元素,如下: ```xml ... type="javax.sql.DataSource" ...

    spring boot多数据源配置

    2. 配置数据源 在`application.yml`或`application.properties`文件中,为每个数据源定义配置: ```yaml spring: datasource: primary: # 主数据源 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:...

    spring 动态多数据源配置代码

    - 在Spring配置中,声明`DataSourceTransactionManager`,并指定使用的`DataSource`。 - 实现策略类,用于决定当前应该使用哪个数据源。这通常涉及在运行时获取上下文信息。 5. **动态切换数据源**: 通过自定义...

    Spring配置MySQL数据源

    连接MYSQL数据库,SPRING配置文件示例。

    spring mvc 配置多数据源

    ### Spring MVC 中配置多数据源详解 在Spring框架中配置多数据源的需求比较常见,尤其在需要处理不同类型的数据库或需要实现数据隔离的应用场景中。本文将详细介绍如何在Spring MVC项目中配置并使用多数据源。 ###...

    Spring 数据源的灵活配置巧应用

    2. **直接在Spring中配置数据源**:这种方式更为灵活,尤其适合于单元测试或者非Web环境下的应用开发。本文将重点介绍第二种方式。 #### 四、使用Spring内置的数据源实现类 Spring框架提供了一系列的数据源实现类,...

    Spring中配置数据源的几种方式

    Spring中配置数据源的几种方式 在 Spring 框架中,配置数据源是非常重要的一步,因为它直接关系到应用程序的数据访问能力。今天,我们将讨论 Spring 中配置数据源的几种方式,并对每种方式进行详细的分析和比较。 ...

    Springcloud 多数库 多数据源整合,查询动态切换数据库

    本主题聚焦于在Spring Cloud环境中实现多数据库和多数据源的整合,并且能够动态切换查询的数据库。这是一个复杂但至关重要的需求,特别是在大型企业级应用中,可能需要根据业务逻辑或用户权限连接到不同的数据库。 ...

    Spring 数据源不同配置

    在Spring框架中,数据源(DataSource)的配置是应用程序与数据库交互的核心部分。Spring支持多种数据源配置方式,包括基本的JDBC数据源、连接池数据源以及事务管理策略等。下面将详细介绍Spring中常见的数据源配置...

    如何在spring中等价配置得到原本由jndi配置实现的数据源

    然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...

    spring Ioc容器配置

    -- 配置数据源 --&gt; destroy-method="close"&gt; &lt;value&gt;org.gjt.mm.mysql.Driver &lt;value&gt;jdbc:mysql://localhost:3306/demo &lt;value&gt;root &lt;value&gt;root &lt;/bean&gt;

    Spring配置多个数据源

    在开发企业级应用程序时,有时我们需要连接到不止一个数据库,比如主从数据库分离、读写分离、多租户系统等场景...记住,正确管理和配置数据源对于系统的稳定性和性能至关重要,因此在实际操作时一定要仔细检查和测试。

    Spring配置MySQL数据源2

    用SPRING管理数据源,数据库为oracle

    SSM(Spring+SpringMVC+MyBatis)多数据源配置框架

    1. **数据源配置**:在Spring配置文件中,我们需要定义多个数据源bean,每个数据源对应一个数据库连接。这可能包括Druid或HikariCP这样的连接池配置。 2. **动态数据源**:Spring的AbstractRoutingDataSource类允许...

    Spring Boot使用spring-data-jpa配置Mysql多数据源

    在Spring Boot应用中,使用`spring-data-jpa`来配置MySQL多数据源是一项常见的需求,尤其是在构建大型分布式系统时,为了实现数据隔离、负载均衡或读写分离等目的。本教程将详细介绍如何在Spring Boot项目中配置多个...

    Spring Boot+Jpa多数据源配置Demo(支持不同数据库)

    在Spring Boot中,我们可以通过创建不同的`DataSource` bean来配置多个数据源。每个数据源通常会有一个对应的`JdbcTemplate`或`JpaEntityManagerFactory`。首先,我们需要在`application.yml`或`application....

    Spring Boot多数据源(JdbcTemplate)配置与使用

    这个过程的关键在于正确配置数据源,创建并注入相应的`JdbcTemplate` bean,然后在业务逻辑中选择合适的数据源进行操作。在实际开发中,根据项目的具体需求,可能还需要考虑事务管理、数据源切换策略等问题,以实现...

    Spring多数据源配置

    在Spring配置中,可以如下定义: ```xml &lt;bean id="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"&gt; ``` 其中`userTransaction`是从JNDI获取的`UserTransaction`...

    Spring 配置各种数据源

    在Spring框架中,配置数据源是一项至关重要的任务,因为数据源是应用程序与数据库交互的桥梁。Spring提供了多种方式来配置数据源,以适应不同的应用场景和需求。以下将详细阐述Spring配置各种数据源的方法、原理以及...

Global site tag (gtag.js) - Google Analytics