spring知识点4
来源:互联网 发布:男士防晒霜 知乎 编辑:程序博客网 时间:2024/06/09 18:22
Spring对持久层的支持:① JDBC,② O/R Mapping(Hibernate,TopLink等)
一、Spring对持久层支持采用的策略:
1、Spring对持久层“不发明重复的轮子”,即没有重新实现新的持久层方案,对现有持久层方案做封装,更利于使用。
2、采用DAO模式
3、提供了大量的模板类来简化编程(HibernateDaoSupport,JdbcTemplate等)
4、重新设计了一套完善的异常体系结构
① 类型丰富,细化异常类型
② 全都是运行时异常(RuntimeException)
二、Spring对JDBC的支持
1、配置数据源
方式一:采用Spring内置的数据源,Spring内置实现 DriverManagerDataSource
<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/hibdb</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>windows</value>
</property>
</bean>
方式二:采用开源数据库产品如DBCP
DBCP提供的BasicDataSource
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/hibdb</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>windows</value>
</property>
</bean>
方式三: 直接使用容器提供的数据源(如Tomcat,Weblogic,Sun Application Server)
JNDI数据源:(mysql5,tomcat5.5)
step1:
在server.xml中:
<Resource name="jdbc/mydatasource" auth="Container" description="DB Connection"
type="javax.sql.DataSource" username="root" password="windows"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/tarena" maxActive="5" />
step2:
在context.xml中(conf\context.xml):
<ResourceLink name="jdbc/mydatasource" global="jdbc/mydatasource" type="javax.sql.DataSourcer"/>
step3:
在beans-config.xml:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/mydatasource</value>
</property>
</bean>
2、配置JdbcTemplate模板类(封装了绝大多数数据库操作)
3、配置DAO
4、配置Service
- spring知识点4
- spring知识点
- Spring--知识点
- Spring 知识点
- spring知识点
- spring知识点
- Spring知识点
- spring知识点
- spring知识点
- spring 知识点
- Spring知识点
- spring知识点
- spring知识点
- spring知识点
- 【Spring】Spring+Struts2+Hibernate3知识点
- Spring框架知识点
- Spring 2.5 注解 知识点
- Spring知识点总结
- 平面分割,空间分割问题【递推关系】(hdu1249、hdu1290、hdu2050)
- spring知识点3
- 满m叉树的性质
- 【例题】【并查集】NKOJ2107 可爱的猴子
- 【HDU】5905 Black White Tree【树dp,枚举子树,对于一个a,其对应的可行b一定是一个连续区间】
- spring知识点4
- C 语言中定义和声明的区别
- frog jump
- SMP Kepsel SDK访问OData服务的几种途径
- AsyncTask的设计原由
- bzoj 4325: NOIP2015 斗地主 dfs
- 201612-1 最大波动
- Redis
- 股票市场