欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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>