上图是spring的体系
1.一般要用spring
首先core container中的4个包一定要有
web.xml配置全局监听器:contextConfigLocation
2.集成web
添加web区域中的web包
web.xml配置servlet监听器:org.springframework.web.context.ContextLoaderListener
3.集成junit
添加test区域中的test包
测试类注解:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationContext.xml")
@Test
4.AOP包
aopalliance
aspectj.weaver
spring-aop
spring-aspects
5.事务
spring-tx
三个高层抽象接口
(1).PlatformTransactionManager 平台相关事务管理器
提供commit事务提交,getTransaction获取事务状态,rollback事务回滚
JDBC事务管理
开启事务 connection.setAutoCommit(false)
提交事务 connection.commit();
回滚事务 connection.rollback();
(2). TransactionDefinition 事务管理定义信息
getIsolationLevel 获取事务隔离级别
getPropagationBehavior 获取事务传播行为
getTimeOut 获取超时时间
isReadOnly 是否只读
Spring 事务管理,进行配置包括(隔离级别、 传播行为、 超时时间、 是否只读)
(3).TransactionStatus 事务管理状态信息
flush 刷出、
hasSavePoint 是否有保存点、
isCompleted 事务是否完成、
isNewTransaction 是否为新的事务、
isRollbackOnly 事务事务回滚、
setRollbackOnly 事务设置为回滚
spring管理事务的两种方式
1.编程式事务管理
2.声明式事务管理(推荐)
XML声明式(用的多,可集中管理)
(1).配置事务管理器<bean id ... class ...><property name ... ref ...>(2).配置事务管理.<tx>
(3).配置切入点和切面<aop>
注解声明式
(1).配置事务管理器<bean id ... class ...><property name ... ref ...>
(2).开启注解驱动事务管理<tx:annotation-driven trasaction-manager="transactionManager">
(3).在方法上@Transactional(属性)
6.jdbc(Java Data Base Connectivity)
mysql-connector-java 驱动包
applicationContext.xml配置
(1).<bean> dataSource连接池对象(驱动,url,账号,密码)
//(2).jdbc Template(spring提供jdbcDaoSupport帮助完成jdbcTemplate)
(3).dao
##常用数据源:
spring-driverManagerDataSource:包mysql-connector-java/ bean:org.springframework.jdbc.datasource.DriverManagerDataSource
c3p0-ComboPooledDataSource:包com.springsource.com.mvchange.v2.c3p0/ bean:com.mvhange.v2.c3p0.ComboPooledDataSource
DBCP-BasicDataSource:包apache.commons.dbcp/apache.commons.pool/ bean:org.apache.dbcp.BasicDataSource
将连接信息卸载properties中,如db.properties
jdbc.driver=...
jdbc.url= ...
jdbc.username=...
jdbc.password=...
然后在applicationContext中引入属性文件,通过${}引入值
name=user value="${jdbc.username}"
告诉spring去哪里读
<context:property-placeholder location="classpath:jdbc.properties">
其他
日志包
org.apache.log4j
org.apache.commons.logging