- 浏览: 390863 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
hylandtecliulei:
现在JSF在国外很火的,我们公司的开发平台就是基于JSF
JSF的各种框架实现(对目前JSF群雄一个了解)(转) -
bcabchappy:
在哪呢?压力挺大的,诶。
flex 三大数据传输格式 json,xml,object相互转换的api -
simple8888:
JSF现在还有吗?
JSF的各种框架实现(对目前JSF群雄一个了解)(转) -
游其是你:
请问channelset写在哪儿啊?最后写个小项目“hello ...
用as实现RemoteObject -
hans.org:
mark it
自定义组件中的元数据标签
对于不同的数据库存取需求,我们使用JDBC来解决这个问题,对于不同的数据库连接来源需求,Spring则提供了DataSource注入,更换数据库
连接来源只要在Bean.xml中修改配置,而不用修改任何一行程序。
因应用不同的系统,应用程序可能使用不同的数库据连接来源,但如纯粹的使用JDBC、透过连接池、或是透过JNDI等等,数据库连接来源
的更改是底层的行为,不应影响到上层的业务逻辑,为此,您可以在需要取得连接来源的Bean上保留一个资料来源注入的接口,让依赖的资料来源由该接口注
入。例如我们来写一个简单的
Bean:
代码:
package onlyfun.caterpillar;
import javax.sql.DataSource;
import java.sql.Connection;
public class DataBean {
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void testDataSource() {
try {
Connection connection = dataSource.getConnection();
if(connection != null)
System.out.println("test ok!");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
这是一个简单的测试Spring DataSource注入的程式,我们通过javax.sql.DataSource接口来注入资料来
源,Spring提供了org.springframework.jdbc.datasource.DriverManagerDataSource来取
得DataSource,它实现了javax.sql.DataSource,您将之当作一个Bean,之后再注入DataBean中即
可,Bean.xml可以这么写:
代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<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://localhost:3306/TestDB</value>
</property>
<property name="username">
<value>caterpillar</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="dataBean" class="onlyfun.caterpillar.DataBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
如果您之前只使用spring-core.jar这个类库,您还必须加入spring-dao.jar,
org.springframework.jdbc.datasource.DriverManagerDataSource是包括在这个类库中,如果您
使用的是spring.jar,当中已经包括了,无需加入任何的jar,当然,为了使用JDBC,您必须要有JDBC驱动程序的jar档。
可以用下面这段程式简单的测试一下:
代码:
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("bean.xml"));;
BeanFactory bf = (BeanFactory) reg;
DataBean dataBean = (DataBean) bf.getBean("dataBean");
dataBean.testDataSource();
DriverManagerDataSource并没有提供连接池的功能,只能作简单的连接测试,现在假设连接测试没有问题了,您想要换上DBCP以获得连接池的功能,则原程序不用更动,只要改改Bean定义档就可以了:
代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/TestDB</value>
</property>
<property name="username">
<value>caterpillar</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="dataBean" class="onlyfun.caterpillar.DataBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
现在我们使用的是org.apache.commons.dbcp.BasicDataSource作为注入的DataSource源,为了使用
DBCP的功能,您必须要将commons-dbcp.jar加入CLASSPATH中,另外您还需要commons-pool.jar与
commons-collections.jar,这些都可以在Spring的相依版本中的lib目录下找到。
注意到我們在dataSource Bean上宣告了destroy-method,如此可以确保BeanFactory在关闭进也一并关闭BasicDataSource。
如果您的Servlet容器提供了JNDI资料源,您也可以简单的换上这个资料源:
代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class="org.springframework.indi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/TestDB</value>
</property>
</bean>
<bean id="dataBean" class="onlyfun.caterpillar.DataBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
为了使用org.springframework.indi.JndiObjectFactoryBean,您必须加入spring-
context.jar这个类库,jndiName实际上要根据您所设定的JNDI查询名称,您可以在下面这个网址找到有关于Tomcat中JNDI设定
的方式:
http://www.caterpillar.onlyfun.net/phpBB2/viewtopic.php?t=1354
发表评论
-
OFBIZ应用程序结构
2010-11-03 11:03 27031)ofbiz可以整个看作一 ... -
jboss 的debug启动4法
2010-06-05 23:36 6638方式一: 使用myeclipse,全自动化,不再赘述 ... -
数据绑定
2010-04-10 18:32 1338原文地址:http://livedocs.adobe.com/ ... -
Log4J 最佳实践之全能配置文件
2009-09-21 22:44 890给出得Log4J配置文件实现了输出到控制台,文件,回滚文件 ... -
glassfish下错误两个
2009-06-07 23:45 18171、在配置文件中开启jsp预编译: <!-- u ... -
Blaze Data Services还是LiveCycle Data Services?
2009-05-17 22:22 2395摘要 现在已经有不少 ... -
Junit入门和基本运行结构分析
2009-05-11 09:26 2365The test code must be writte ... -
servlet 补习1
2009-04-01 17:54 1053getServletPath: /pic.upload get ... -
精通批处理
2009-03-04 17:17 1269ECHO 墨西哥语: 8 ECHO 墨 ... -
软件开发者面试百问
2009-03-03 14:35 890想雇到搞软件开发的聪 ... -
spring配置5种方法
2009-02-23 22:27 8581、 <context-param> < ... -
spring的使用最佳12策略
2009-02-23 22:14 1065Spring是一个强大的Java应用框架,它广泛地应用于Jav ... -
sevlet上传原理
2009-02-13 09:55 1432点滴:最近基于apache的上传组件写了一个配置上传的组件。想 ... -
j2ee页面转向
2009-02-12 16:06 1081各种框架的不管看起来 ... -
spring事务配置二
2009-02-10 11:20 1342面介绍一种优秀的事务代理配置策略:采用这种配置策略,完全可以避 ... -
spring事务配置一
2009-02-10 11:19 1461通常建议采用声明式事务管理。声明式事务管理的优势非常明显:代码 ... -
活用SiteMesh,一个装饰器就可支撑整个网站结构
2009-01-27 11:00 2017在寻求网站结构的高效 ... -
log4j(1)配置日志的去向
2009-01-25 00:19 1110log4j 1.在Eclipse ... -
j2ee的认知
2009-01-23 17:52 1184关于spring,struts,hibernate,sitem ... -
翻译力作 - Advanced SiteMesh
2008-11-27 09:34 1122假设你打算结合多种技术来构建一个企业级web站点。比如,你准备 ...
相关推荐
spring配置数据库文件,连接数据库的一写配置文件
本文将详细探讨"Spring数据库连接等配置加密"这一主题。 首先,我们来看`dbconfig.properties`文件,这是Spring项目中常见的用于存储数据库连接配置的文件。通常,这个文件会包含如下内容: ``` # 数据库连接配置 ...
4. 从数据库加载定时任务配置并更新到Spring Boot的配置中。 5. 在业务逻辑类中使用`@Scheduled`注解来定义定时任务,并根据数据库配置动态调整执行频率。 通过这种方式,我们可以灵活地管理和调整应用中的定时任务...
本文将详细讲解如何使用 Spring 连接数据库,包括创建数据库、配置 Spring、编写数据库操作代码等步骤。 创建数据库 首先,我们需要创建一个数据库。这里,我们使用 MySQL 数据库管理系统和 SQLyog 工具来创建一个...
此外,Spring Data JPA和MyBatis等持久层框架也支持多数据库配置。它们通常需要额外的配置来指定使用的`DataSource`,并通过`@Repository`或`@Mapper`注解的子类来区分不同数据库的操作。 最后,为了确保事务的一致...
本文将详细介绍如何在Spring框架中配置数据库连接,包括使用JDBC、JPA、Hibernate等技术,以及如何利用Spring Boot的自动配置功能简化配置过程。 在Spring框架中配置数据库连接是一个基础而重要的任务。通过本文的...
在Spring配置中启用事务管理器,并在需要事务的方法上添加`@Transactional`注解,Spring会自动进行事务的开始、提交或回滚。例如: ```xml <bean id="transactionManager" class="org.springframework.jdbc....
1. **数据源配置**:Spring可以配置数据源,并且可以在配置文件中定义Hibernate的相关信息,例如SessionFactory的配置等。这样,开发者无需在代码中直接管理这些配置信息,从而提高了代码的可维护性。 2. **模板...
在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,需要在 `build.gradle` 文件中添加 Oracle JDBC ...
本篇文章将详细讲解如何在SpringCloud项目中配置Oracle数据库,并从数据库中获取数据。 首先,我们需要在项目中引入SpringBoot对Oracle数据库的支持。这可以通过在`pom.xml`文件中添加相应的依赖来实现。通常,你...
spring mvc jdbc 连接数据库配置说明
1. **配置多个DataSource**:在Spring的配置文件(如XML或Java配置)中,为每个数据库定义一个DataSource。每个DataSource应包括数据库驱动类、URL、用户名和密码等信息。 2. **使用AbstractRoutingDataSource**:...
在Spring框架中,连接到不同的数据库是通过数据源(DataSource)和相关配置来实现的。在上述描述中,我们看到了如何在Spring的配置文件`applicationContext.xml`中配置连接到MySQL、Oracle和SQL Server的数据源。...
这样,当需要更新数据库配置时,只需更改Config Server上的配置,服务端会自动感知变化并重新加载。 4. **Ribbon和Feign客户端**:在Spring Cloud中,Ribbon和Feign常用于服务间的负载均衡。如果各个服务连接不同的...
对数据库配置文件进行加密存储方案,对数据库配置文件进行加密存储方案,对数据库配置文件进行加密存储方案,对数据库配置文件进行加密存储方案,对数据库配置文件进行加密存储方案
在Spring的配置文件(如applicationContext.xml)中,定义一个`SchedulerFactoryBean`,设置数据库连接信息,并开启从数据库加载Job和Trigger的配置: ```xml <bean id="schedulerFactoryBean" class="org.spring...
通过以上步骤,我们可以有效地在Spring应用中配置和使用MySQL数据库,并借助SimpleJdbcTemplate简化SQL操作。这种模式不仅提高了代码的可读性和可维护性,也降低了直接操作JDBC带来的复杂性。在实际项目中,还可以...
本教程将详细讲解如何在Spring Boot项目中配置Spring JDBC,以便进行数据库开发。 首先,让我们了解Spring Boot的特点。Spring Boot简化了Spring应用的初始搭建以及开发过程,通过内嵌的Tomcat服务器和自动配置功能...
1. 配置数据库连接:在Spring的配置文件中,如`applicationContext.xml`,修改数据源的相关参数,包括数据库URL、用户名、密码等,以连接到你的本地或远程数据库。 2. 配置MyBatis:在`mybatis-config.xml`中,可能...