SSH整合

来源:互联网 发布:5年内诞生超人工智能 编辑:程序博客网 时间:2024/06/06 12:27

Spring整合Struts2

1.Action由Struts2创建

导入struts2-spring-plugin-2.3.24.jar包自带一个配置文件,其中自带struts.xml配置文件,有如下代码

<!-- 开启一个常量,如果开启,那么下面的常量就可以使用 --><constant name="struts.objectFactory" value="spring"/><!-- 该常量是可以让Action的类来自动装配Bean对象 -->struts.objectFactory.spring.autoWire = name

2.Action由Spring创建

applicationContext.xml

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

struts.xml

<action name="user_*" class="userAction">
  • 注意点
    • scope = “prototype”
    • UserService必须手动注入

Spring整合Hibernate

不能配置绑定到当前线程

1.带Hibernate.cfg.xml

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">    <property name="configLocation" value="classpath:hibernate.cfg.xml"/></bean><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="dataSource"/></bean><!-- 开启注解事务 --><tx:annotation-driven transaction-manager="transactionManager"/><bean id="userDao" class="com...USerDaoImpl">    <property name="sessionFactory" ref="sessionFactory"/></bean>

1.不带Hibernate.cfg.xml

<!--配置连接池--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">    <property name="driverClass" value="com.mysql.jdbc.Driver"/>    <property name="jdbcUrl" value="jdbc:mysql:///xxx"/>    <property name="user" value="root"/>    <property name="password" value="root"/></bean><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">    <property name="dataSource" ref="dataSource"/></bean><!-- 配置其他的属性 --><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="mappingResources">    <list>        <value>com/itheima/domain/Customer.hbm.xml</value>    </list></property>

延迟加载造成的No Session问题

要注意需要在struts2的核心过滤器之前进行配置

<filter>    <filter-name>OpenSessionInViewFilter</filter-name>    <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping>    <filter-name>OpenSessionInViewFilter</filter-name>    <url-pattern>/*</url-pattern></filter-mapping>
原创粉丝点击