ApplicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd "><!-- 读取db.properties文件 --><context:property-placeholder location="classpath:db.properties" /><!-- 开启扫描类中的注解 --><context:component-scan base-package="cn.itcast"></context:component-scan><!-- 配置c3p0连接池 --><bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" ><property name="jdbcUrl" value="${jdbc.jdbcUrl}" ></property><property name="driverClass" value="${jdbc.driverClass}" ></property><property name="user" value="${jdbc.user}" ></property><property name="password" value="${jdbc.password}" ></property></bean><!-- 核心事务管理器 --><bean name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager" ><property name="sessionFactory" ref="sessionFactory" ></property></bean><tx:annotation-driven transaction-manager="transactionManager" /><bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean" ><property name="dataSource" ref="dataSource" ></property><property name="hibernateProperties"><props><prop key="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</prop><!-- 可选配置 --><prop key="hibernate.show_sql" >true</prop><prop key="hibernate.format_sql" >true</prop><prop key="hibernate.hbm2ddl.auto" >update</prop></props></property><property name="mappingDirectoryLocations" value="classpath:cn/itcast/domain" ></property></bean></beans>
开启注解
<!-- 开启扫描类中的注解 --><context:component-scan base-package="(项目的包的位置))"></context:component-scan>
Dao层
有技术含量一点的是在Dao层注入SessionFactory,就是下面这几句话
@Resource(name="sessionFactory")public void setSF(SessionFactory sf){super.setSessionFactory(sf);}
Service层
注册@Service(“serviceName”) ,放到类上面。
注入:
@Resource(name="customerDao")private CustomerDao cd;
事务:在service层的类上面直接加。
@Transactional(isolation=Isolation.REPEATABLE_READ,propagation=Propagation.REQUIRED,readOnly=false)
Action层

注册:@Controller(“actionName”)
注入:
@Resource(name="customerService")private CustomerService cs;
多例:@Scope(“prototype”)
