ssh中Spring配置文件applicationContext.xml
程序员文章站
2022-05-21 23:08:22
...
Spring应该配啥
1、可以帮strtus生成action,然后起个名字,struts那里的配置再使用这个名字就行了,再加上配置让spring帮助生成action,不多说。
2、可以帮hibernate配的就多了去了,简单来说,陪完spring就不用配hibernate.cfg.xml了,可以帮hibernate生成sessionFactory对象,操作数据库,至关重要。先在外部配置数据库四个参数文件.xml,有了配置文件可以配置数据库连接池,需要的参数直接从数据库四个参数文件.xml中取。有了数据库连接池,可以配置sessionFactory,sessionFactory中还可以配上数据库方言,显示sql,格式化sql,自动建表,还有重要的配置读取某个包下全部的XXX.hbm.xml。这样sessionFactory就配完了
3、有了sessionFactoy,就配置spring的事务管理器transactionManager。核心事务管理器。
4、然后配置通知。跟切面。或者直接配置事务注解。
6、然后配自己本来就应该配的,就是大容器,配置各个action,service,dao层的bean。dao中注入sessionFactory。
总结一下。配置的有
读取数据库参数文件
配置数据库连接池
配置sesionFactory(里面配置数据库方言。showsql,formatsql,加读取XXX.hbm.xml)
配置transactionManager
配置通知及切面(或者开启事务注解)
配置各种action,service,dao。
<context:property-placeholder location="classpath:db.properties" />
<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 name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager" >
<property name="sessionFactory" ref="sessionFactory" ></property>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false" />
<tx:method name="*" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="execution(* cn.XXX.service.impl.*ServiceImpl.*(..))" id="txPc"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPc" />
</aop:config>
<!-- <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.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/ixxx/domain" ></property>
</bean>
<!-- action -->
<!-- 注意:Action对象作用范围一定是多例的.符合struts2架构 -->
<bean name="xXXAction" class="cn.itcast.web.action.XXXAction" scope="prototype" >
<property name="xXXService" ref="xXXService" ></property>
</bean>
<!-- service -->
<bean name="xXXService" class="cn.itcast.service.impl.XXXServiceImpl" >
<property name="xXX" ref="xXXDao" ></property>
</bean>
<!-- dao -->
<bean name="xXXDao" class="cn.itcast.dao.impl.XXXDaoImpl" >
<property name="sessionFactory" ref="sessionFactory" ></property>
</bean>
</beans>
推荐阅读
-
SSH整合中 hibernate托管给Spring得到SessionFactory
-
JSP Spring配置文件中传值的实例详解
-
[原创] Spring 配置文件中如何读取系统环境变量
-
spring和springMVC配置文件中的扫描包如何配置
-
spring boot中关于获取配置文件注解的使用@ConfigurationProperties、@Value、@PropertySource
-
Spring框架中引入外部配置文件的属性值
-
【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
-
【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
-
Spring配置文件中的parent与abstract
-
Idea中Spring整合MyBatis框架中配置文件中对象注入问题解决方案