• IDEA整合Spring+Struts+Hibernate项目


    新手使用idea整合Spring+Struts+Hibernate项目

    项目所需jar下载:

    https://download.csdn.net/download/weixin_44906002/12505287

    1、如图,使用idea新建一个struts的web项目,点击next,编辑项目名称,点击finish

    2、在web/WEB-INF下创建lib文件夹,导入下载好的jar包,然后鼠标右键点击lib,选择添加为库

    3、构建如下图的项目结构: 

     4、编辑beans.xml,该配置文件可以创建项目的时候选择spring项目,自动创建,路径随意,一般自动创建的applicationContext.xml在web/WEB-INF文件夹下面。

    对beans.xml做如下配置

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xmlns:tx="http://www.springframework.org/schema/tx"
     6        xmlns:aop="http://www.springframework.org/schema/aop"
     7        xsi:schemaLocation="http://www.springframework.org/schema/beans
     8        http://www.springframework.org/schema/beans/spring-beans.xsd
     9        http://www.springframework.org/schema/context
    10        http://www.springframework.org/schema/context/spring-context-4.1.xsd
    11        http://www.springframework.org/schema/cache
    12        http://www.springframework.org/schema/cache/spring-cache.xsd
    13        http://www.springframework.org/schema/aop
    14        http://www.springframework.org/schema/aop/spring-aop.xsd
    15        http://www.springframework.org/schema/tx
    16        http://www.springframework.org/schema/tx/spring-tx.xsd">
    17     <!--开启包扫描-->
    18     <context:component-scan base-package="com.cheng.*"/>
    19     <!--配置数据源,这里使用的是c3p0连接池-->
    20     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    21         <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
    22         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shape?userUnicode=true&amp;characterEncoding=utf-8"/>
    23         <property name="user" value="root"/>
    24         <property name="password" value="lijc19980218"/>
    25     </bean>
    26     <!--配置Hibernate的会话工厂bean-->
    27     <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    28         <!--注入数据源-->
    29         <property name="dataSource" ref="dataSource"/>
    30         <!--Hibernate配置文件位置-->
    31         <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
    32     </bean>
    33     
    34     <!--配置事务管理器,将事务管理交给spring-->
    35     <bean id="txManger" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    36         <property name="sessionFactory" ref="sessionFactory"/>
    37     </bean>
    38     <!--定义事务通知-->
    39     <tx:advice id="txAdvice" transaction-manager="txManger">
    40         <tx:attributes>
    41             <!--事务方法-->
    42             <tx:method name="save*" propagation="REQUIRED"/>
    43             <tx:method name="add*" propagation="REQUIRED"/>
    44             <!--...-->
    45         </tx:attributes>
    46     </tx:advice>
    47     
    48     <!--配置AOP-->
    49     <aop:config>
    50         <aop:pointcut id="service" expression="execution(* com.cheng.service..*.*(..))"/>
    51         <aop:advisor advice-ref="txAdvice" pointcut-ref="service"/>
    52     </aop:config>
    53 
    54 </beans>

    5、配置hibernate.cfg.xml文件

     1 <?xml version='1.0' encoding='utf-8'?>
     2 <!DOCTYPE hibernate-configuration PUBLIC
     3         "-//Hibernate/Hibernate Configuration DTD//EN"
     4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
     5 <hibernate-configuration>
     6     <session-factory>
     7         <!--映射文件-->
     8         <mapping resource="com/cheng/bean/circle.hbm.xml"/>
     9     </session-factory>
    10 </hibernate-configuration>

    6、配置struts.xml,让spring融合struts

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 
     3 <!DOCTYPE struts PUBLIC
     4         "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
     5         "http://struts.apache.org/dtds/struts-2.5.dtd">
     6 
     7 <struts>
     8     <!--配置struts为开发模式-->
     9     <constant name="struts.devMode" value="true"/>
    10     <!--配置主题为简单主题-->
    11     <constant name="struts.ui.theme" value="simple"/>
    12     <!--配置请求后缀-->
    13     <constant name="struts.action.extension" value="do"/>
    14     <!--使用Spring的对象工厂-->
    15     <constant name="struts.objectFactory" value="spring"/>
    16     <package name="default" extends="struts-default" namespace="/">
    17         
    18     </package>
    19 </struts>

    7、配置web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
     5          version="4.0">
     6     <context-param>
     7         <param-name>contextConfigLocation</param-name>
     8         <param-value>classpath:beans.xml</param-value>
     9     </context-param>
    10     <listener>
    11         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    12     </listener>
    13     <filter>
    14         <filter-name>struts2</filter-name>
    15         <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    16     </filter>
    17     <filter-mapping>
    18         <filter-name>struts2</filter-name>
    19         <url-pattern>/*</url-pattern>
    20     </filter-mapping>
    21 </web-app>

    <context-param></context-param>存放的是beans.xm配置文件路径,添加监听以便于在部署Web项目时,启动和初始化Spring容器。

    8、hibernate映射文件,例如:

     1 <?xml version='1.0' encoding='UTF-8'?>
     2 <!DOCTYPE hibernate-mapping PUBLIC
     3         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     4         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     5 
     6 <hibernate-mapping>
     7     <class name="完全限定类名" table="映射数据库表名">
     8         <id name="主键">
     9             <generator class="assigned"></generator>
    10         </id>
    11 
    12         <property name="其他字段"></property>
    13 
    14     </class>
    15 
    16 </hibernate-mapping>

    然后爽一波试试好不好使

  • 相关阅读:
    mysql truncate
    蠕虫复制
    mysql 一对多,多对多
    php实现文件下载
    JetBrains PhpStorm 整个项目中查找一个词语
    vim
    程序员减少代码BUG的7种方法,拒绝编程5分钟,查代码2小时!
    创建你的第一个Composer/Packagist包
    Elasticsearch
    Laravel 实践之路: 数据库迁移与数据填充
  • 原文地址:https://www.cnblogs.com/lijchah/p/13065659.html
Copyright © 2020-2023  润新知