spring总结:(4)SSH框架的配置文件
程序员文章站
2022-03-02 18:13:37
...
1.加载db.properties
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:db.properties"></property>
</bean>
2.配置数据源DataSource
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driver}"></property>
<property name="jdbcUrl" value="${url}"></property>
<property name="user" value="${name}"></property>
<property name="password" value="${pass}"></property>
</bean>
3.配置sessionFactory注入dataSource
<bean id="sessionFactoryDataSource" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 配置hibernate相关属性 -->
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="show_sql">true</prop>
<prop key="format_sql">true</prop>
<prop key="hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 配置映射文件位置 -->
<property name="mappingResources">
<list>
<value>cn/jzh/entity/User.hbm.xml</value>
</list>
</property>
</bean>
4.配置hibernateTemplate并注入sessionFactory
<bean id="hibernateTemplateSessonFactory" class="org.springframework.orm.hibernate5.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactoryDataSource"></property>
</bean>
5.配置UserDao并注入hibernateTemplate
<bean id="userDao" class="cn.dao.impl.UserDaoImpl">
<property name="ht" ref="hibernateTemplateSessonFactory"></property>
</bean>
6.配置UserService并注入UserDao
<bean id="service" class="cn.service.UserServiceImpl">
<property name="dao" ref="userDao"></property>
</bean>
7.配置UserinfoAction,并注入UserService
<bean id="userAction" class="cn.action.UserAction">
<property name="service" ref="service"></property>
</bean>
最后:配置spring声明事物
配置hibernteTransactionManager,注入sessionFactory
<bean id="transaction" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactoryDataSource"></property>
</bean>
配置事务的通知
<tx:advice id="txAdvice" transaction-manager="transaction">
<!-- 事物的传播的行为 -->
<tx:attributes>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 定义切面 -->
<aop:pointcut expression="execution(* cn.jzh.service.*.*(..))" id="mypointcut"/>
<!-- 将事务通知和切面告知通知者 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="mypointcut"/>
</aop:config>
推荐阅读
-
Spring 框架基础(02):Bean的生命周期,作用域,装配总结
-
基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作
-
[ SSH框架 ] Spring框架学习之二(Bean的管理和AOP思想)
-
Spring框架中引入外部配置文件的属性值
-
【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
-
【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主动查找和控制反转(九)
-
【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
-
【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
-
【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)
-
【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)