• SSH框架分模块开发


    ------------------siwuxie095

       

       

       

       

       

       

       

       

    SSH 框架分模块开发

       

       

    1、在 Spring 核心配置文件中配置多个内容,容易造成

    配置混乱,不利于维护

       

    分模块开发主要针对 Spring 核心配置文件

       

       

       

    2、把 Spring 核心配置文件中的一部分配置放到单独

    配置文件中,再在 Spring 核心配置文件中引入单独的配

    置文件即可

       

       

       

    3、一般情况下,建议把 Action 对象的配置放到单独的

    配置文件中

       

    「因为其它的配置基本不变,只有 Action 对象的配置在

    不断重复」

       

    如:

       

    user.xml:

       

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xsi:schemaLocation="

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context.xsd

    http://www.springframework.org/schema/tx

    http://www.springframework.org/schema/tx/spring-tx.xsd">

       

    <!-- 配置 Action 对象 -->

    <bean id="userAction" class="com.siwuxie095.action.UserAction" scope="prototype">

    <property name="userService" ref="userService"></property>

    </bean>

    <!-- 配置 Service 对象 -->

    <bean id="userService" class="com.siwuxie095.service.UserService">

    <property name="userDao" ref="userDaoImpl"></property>

    </bean>

    <!-- 配置 Dao 实现类对象 -->

    <bean id="userDaoImpl" class="com.siwuxie095.dao.impl.UserDaoImpl">

    <property name="hibernateTemplate" ref="hibernateTemplate"></property>

    </bean>

    <!-- 配置 HibernateTemplate 对象 -->

    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">

    <!-- 注入 SessionFactory 对象 -->

    <property name="sessionFactory" ref="sessionFactory"></property>

    </bean>

    <!--

    关于 HibernateTemplate 对象的配置,其实也可以放在核心配置文件中,

    因为它也是基本不变的

    其实关于分模块开发,把任何一部分拿出去放到单独的配置文件中都可以,

    只是建议把 Action 对象的配置放到单独的配置文件中,因为只有 Action

    对象的配置是不断重复的,而其它的配置却是基本不变的

    -->

    </beans>

       

       

       

    applicationContext.xml 中引入 user.xml:

       

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xsi:schemaLocation="

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context.xsd

    http://www.springframework.org/schema/tx

    http://www.springframework.org/schema/tx/spring-tx.xsd">

    <!-- (1) -->

    <!-- 配置 C3P0 连接池 -->

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

    <property name="driverClass" value="com.mysql.jdbc.Driver"/>

    <!--

    jdbc:mysql:///test_db jdbc:mysql://localhost:3306/test_db 的简写

    -->

    <property name="jdbcUrl" value="jdbc:mysql:///test_db"/>

    <property name="user" value="root"/>

    <property name="password" value="8888"/>

    </bean>

    <!-- SessionFactory 对象的创建交给 Spring 进行管理 -->

    <bean id="sessionFactory"

    class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">

    <!--

    数据库配置原本是在 Hibernate 核心配置文件中配置的,

    现在 Hibernate 核心配置文件不存在了,所以在这里注

    dataSource

    LocalSessionFactoryBean 中有相关属性,所以可以

    注入

    -->

    <property name="dataSource" ref="dataSource"></property>

    <!-- 配置 Hibernate 基本信息 -->

    <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>

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

    <!--

    原来的配置:

    <prop key="hibernate.current_session_context_class">thread</prop>

    SSH 框架整合中会报错,要么将这个配置删了,要么改成如下配置

    参考链接:http://blog.csdn.net/maoyuanming0806/article/details/61417995

    -->

    <prop key="hibernate.current_session_context_class">

    org.springframework.orm.hibernate5.SpringSessionContext

    </prop>

    </props>

    </property>

    <!-- 引入映射配置文件 -->

    <property name="mappingResources">

    <list>

    <value>com/siwuxie095/entity/User.hbm.xml</value>

    <!-- <value>....</value> -->

    </list>

    </property>

    </bean>

    <!-- (2) -->

    <!--

    引入 src 下的 user.xml 配置文件

    其实 classpath 可以省略不写,即:

    <import resource="user.xml"/>

    建议写上

    -->

    <import resource="classpath:user.xml"/>

    <!-- (3) -->

    <!-- 配置事务管理器 HibernateTransactionManager -->

    <bean id="transactionManager"

    class="org.springframework.orm.hibernate5.HibernateTransactionManager">

    <!--注入 SessionFactory 对象 -->

    <property name="sessionFactory" ref="sessionFactory"></property>

    </bean>

    <!-- 开启事务注解 -->

    <tx:annotation-driven transaction-manager="transactionManager"/>

    </beans>

       

       

       

    引入部分如下:

       

       

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    python 枚举enum
    python lambda 三元表达式
    python修改类属性
    python获取引用对象的个数
    python 返回实例对象个数
    python __del__() 清空对象
    python面向对象:继承
    python面向对象:多态
    Docker容器和K8s添加Health Check
    mkfs.xfs: /dev/vdb appears to contain a partition table (dos)
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7439615.html
Copyright © 2020-2023  润新知