SSH框架搭建

本文档详细介绍了Spring、Struts2及MyBatis(SSM)框架整合的配置过程,包括Maven项目搭建、核心配置文件设置等步骤,并集成了Hibernate、Spring Data JPA等多种ORM解决方案。

1.  pom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.itcast.maven</groupId>

  <artifactId>common_parent</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>pom</packaging>

  <name>common_parent</name>

  <description>描述</description>

 <properties>

         <spring.version>4.2.8.RELEASE</spring.version>

         <struts2.version>2.3.24</struts2.version>

         <hibernate.version>5.0.1.Final</hibernate.version>

         <slf4j.version>1.6.6</slf4j.version>

         <springdataredis.version>1.4.1.RELEASE</springdataredis.version>

         <activemq.version>5.2.0</activemq.version>

         <shiro.version>1.2.2</shiro.version>

         <springdatajpa.version>1.10.4.RELEASE</springdatajpa.version>

         <jedis.version>2.6.2</jedis.version>

         <poi.version>3.11</poi.version>

         <c3p0.version>0.9.1.2</c3p0.version>

         <cxf.version>3.0.1</cxf.version>

         <servlet.version>2.5</servlet.version>

         <junit.version>4.11</junit.version>

     </properties>

     <dependencies>

         <!-- 权限控制框架 -->

         <dependency>

              <groupId>org.apache.shiro</groupId>

              <artifactId>shiro-all</artifactId>

              <version>${shiro.version}</version>

         </dependency>

         <!-- spring 框架 -->

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-context</artifactId>

              <version>${spring.version}</version>

         </dependency>

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-context-support</artifactId>

              <version>${spring.version}</version>

         </dependency>

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-web</artifactId>

              <version>${spring.version}</version>

         </dependency>

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-orm</artifactId>

              <version>${spring.version}</version>

         </dependency>

        

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-jms</artifactId>

              <version>${spring.version}</version>

         </dependency>

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-test</artifactId>

              <version>${spring.version}</version>

         </dependency>

        

         <dependency>

              <groupId>org.springframework</groupId>

              <artifactId>spring-aspects</artifactId>

              <version>${spring.version}</version>

         </dependency>

        

          <!-- spring data jpa 数据库持久层 -->

         <dependency>

              <groupId>org.springframework.data</groupId>

              <artifactId>spring-data-jpa</artifactId>

              <version>${springdatajpa.version}</version>

         </dependency>

        

         <!-- 消息队列 MQ -->

         <dependency>

              <groupId>org.apache.activemq</groupId>

              <artifactId>activemq-all</artifactId>

              <version>${activemq.version}</version>

         </dependency>

         <!-- struts2 框架 -->

         <dependency>

              <groupId>org.apache.struts</groupId>

              <artifactId>struts2-core</artifactId>

              <version>${struts2.version}</version>

         </dependency>

         <dependency>

              <groupId>org.apache.struts</groupId>

              <artifactId>struts2-spring-plugin</artifactId>

              <version>${struts2.version}</version>

         </dependency>

         <dependency>

              <groupId>org.apache.struts</groupId>

              <artifactId>struts2-convention-plugin</artifactId>

              <version>${struts2.version}</version>

         </dependency>

        

         <dependency>

              <groupId>org.apache.struts</groupId>

              <artifactId>struts2-json-plugin</artifactId>

              <version>${struts2.version}</version>

         </dependency>

         <!-- hibernate 框架 -->

         <dependency>

              <groupId>org.hibernate</groupId>

              <artifactId>hibernate-core</artifactId>

              <version>${hibernate.version}</version>

         </dependency>

         <dependency>

              <groupId>org.hibernate</groupId>

              <artifactId>hibernate-entitymanager</artifactId>

              <version>${hibernate.version}</version>

         </dependency>

        

         <!-- 数据库连接池 -->

         <dependency>

              <groupId>c3p0</groupId>

              <artifactId>c3p0</artifactId>

              <version>${c3p0.version}</version>

         </dependency>

         <!-- 日志框架  -->

         <dependency>

              <groupId>org.slf4j</groupId>

              <artifactId>slf4j-log4j12</artifactId>

              <version>${slf4j.version}</version>

         </dependency>

         <!-- 工具包 -->

         <dependency>

              <groupId>commons-lang</groupId>

              <artifactId>commons-lang</artifactId>

              <version>2.6</version>

         </dependency>

         <!-- redis nosql 内存数据库 -->

         <dependency>

              <groupId>redis.clients</groupId>

              <artifactId>jedis</artifactId>

              <version>${jedis.version}</version>

         </dependency>

         <dependency>

              <groupId>org.springframework.data</groupId>

              <artifactId>spring-data-redis</artifactId>

              <version>1.4.1.RELEASE</version>

         </dependency>

         <!-- oracle数据库驱动,需要手动安装  -->

         <dependency>

              <groupId>com.oracle</groupId>

              <artifactId>ojdbc6</artifactId>

              <version>11.2.0.1.0</version>

         </dependency>

         <!-- Excel解析工具类  -->

         <dependency>

              <groupId>org.apache.poi</groupId>

              <artifactId>poi</artifactId>

              <version>${poi.version}</version>

         </dependency>

         <dependency>

              <groupId>org.apache.poi</groupId>

              <artifactId>poi-ooxml</artifactId>

              <version>${poi.version}</version>

         </dependency>

         <dependency>

              <groupId>org.apache.poi</groupId>

              <artifactId>poi-ooxml-schemas</artifactId>

              <version>${poi.version}</version>

         </dependency>

        

         <!-- ServletJSP -->

         <dependency>

              <groupId>javax.servlet</groupId>

              <artifactId>servlet-api</artifactId>

              <version>${servlet.version}</version>

              <scope>provided</scope>

         </dependency>

         <!-- 单元测试  -->

         <dependency>

              <groupId>junit</groupId>

              <artifactId>junit</artifactId>

              <version>${junit.version}</version>

              <scope>test</scope>

         </dependency>

        

         <!-- 导入webservice依赖 -->

         <dependency>

              <groupId>org.apache.cxf</groupId>

              <artifactId>cxf-rt-frontend-jaxws</artifactId>

              <version>${cxf.version}</version>

         </dependency>

        

         <dependency>

              <groupId>org.apache.cxf</groupId>

              <artifactId>cxf-rt-frontend-jaxrs</artifactId>

              <version>${cxf.version}</version>

         </dependency>

         <dependency>

              <groupId>org.apache.cxf</groupId>

              <artifactId>cxf-rt-rs-client</artifactId>

              <version>${cxf.version}</version>

         </dependency>

        

         <dependency>

              <groupId>org.apache.cxf</groupId>

              <artifactId>cxf-rt-rs-extension-providers</artifactId>

              <version>${cxf.version}</version>

         </dependency>

         <dependency>

              <groupId>org.codehaus.jettison</groupId>

              <artifactId>jettison</artifactId>

              <version>1.3.7</version>

         </dependency>

         <!-- 对象转为json工具包 -->

         <dependency>

              <groupId>com.alibaba</groupId>

              <artifactId>fastjson</artifactId>

              <version>1.1.37</version>

         </dependency>

         <dependency>

              <groupId>com.colobu</groupId>

              <artifactId>fastjson-jaxrs-json-provider</artifactId>

              <version>0.3.1</version>

         </dependency>

        

         <!-- 导入pinyin4j -->

         <dependency>

              <groupId>com.belerweb</groupId>

              <artifactId>pinyin4j</artifactId>

              <version>2.5.0</version>

         </dependency>

        

         <!-- 邮件发送工具 -->

         <dependency>

              <groupId>javamail</groupId>

              <artifactId>mail</artifactId>

              <version>1.3.2</version>

         </dependency>

        

         <dependency>

             <groupId>org.apache.xbean</groupId>

             <artifactId>xbean-spring</artifactId>

             <version>3.7</version>

         </dependency>

        

         <dependency>

              <groupId>org.quartz-scheduler</groupId>

              <artifactId>quartz</artifactId>

              <version>2.2.1</version>

         </dependency>

         <dependency>

              <groupId>org.quartz-scheduler</groupId>

              <artifactId>quartz-jobs</artifactId>

              <version>2.2.1</version>

         </dependency>

        

         <!-- elasticsearch  -->

         <dependency>

              <groupId>org.elasticsearch</groupId>

              <artifactId>elasticsearch</artifactId>

              <version>2.4.0</version>

         </dependency>

         <dependency>

              <groupId>org.springframework.data</groupId>

              <artifactId>spring-data-elasticsearch</artifactId>

              <version>2.0.4.RELEASE</version>

         </dependency>

         <dependency>

              <groupId>org.springframework.data</groupId>

              <artifactId>spring-data-commons</artifactId>

              <version>1.12.4.RELEASE</version>

         </dependency>

        

         <!-- 缓存 -->

         <dependency>

              <groupId>net.sf.ehcache</groupId>

              <artifactId>ehcache-core</artifactId>

              <version>2.6.11</version>

         </dependency>

        

         <!-- itext -->

         <dependency>

           <groupId>com.lowagie</groupId>

           <artifactId>itext</artifactId>

           <version>4.2.1</version>

        </dependency>

        <dependency>

           <groupId>com.itextpdf</groupId>

           <artifactId>itext-asian</artifactId>

           <version>5.2.0</version>

        </dependency>

       

        <!-- groovy -->

         <dependency>

              <groupId>org.codehaus.groovy</groupId>

              <artifactId>groovy-all</artifactId>

              <version>2.2.0</version>

         </dependency>

         <!-- jasperreport -->

         <dependency>

              <groupId>net.sf.jasperreports</groupId>

              <artifactId>jasperreports</artifactId>

              <version>5.2.0</version>

              <exclusions>

                   <exclusion>

                       <groupId>com.lowagie</groupId>

                       <artifactId>itext</artifactId>

                   </exclusion>

                   <exclusion>

                       <artifactId>jackson-databind</artifactId>

                       <groupId>com.fasterxml.jackson.core</groupId>

                   </exclusion>

                   <exclusion>

                       <artifactId>jackson-annotations</artifactId>

                       <groupId>com.fasterxml.jackson.core</groupId>

                   </exclusion>

                   <exclusion>

                       <artifactId>jackson-core</artifactId>

                       <groupId>com.fasterxml.jackson.core</groupId>

                   </exclusion>

              </exclusions>

         </dependency> 

     </dependencies>

     <build>

         <finalName>bos</finalName>

         <pluginManagement>

              <plugins>

                   <plugin>

                       <groupId>org.apache.maven.plugins</groupId>

                       <artifactId>maven-compiler-plugin</artifactId>

                       <version>3.2</version>

                       <configuration>

                            <source>1.7</source>

                            <target>1.7</target>

                            <encoding>UTF-8</encoding>

                            <showWarnings>true</showWarnings>

                       </configuration>

                   </plugin>

              </plugins>

         </pluginManagement>

     </build>

</project>

2.  web.xml

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

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

     xmlns="http://java.sun.com/xml/ns/javaee"

     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

     id="WebApp_ID" version="2.5">

     <display-name>ssh-annotation</display-name>

     <welcome-file-list>

         <welcome-file>index.html</welcome-file>

         <welcome-file>index.htm</welcome-file>

         <welcome-file>index.jsp</welcome-file>

         <welcome-file>default.html</welcome-file>

         <welcome-file>default.htm</welcome-file>

         <welcome-file>default.jsp</welcome-file>

     </welcome-file-list>

     <!-- 以下是配置spring -->

     <context-param>

         <param-name>contextConfigLocation</param-name>

         <param-value>classpath:applicationContext.xml</param-value>

     </context-param>

     <listener>

         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

     </listener>

     <!-- openSessionInViewFilter -->

     <filter>

         <filter-name>openSessionInView</filter-name>

         <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>

     </filter>

     <filter-mapping>

         <filter-name>openSessionInView</filter-name>

         <url-pattern>/*</url-pattern>

     </filter-mapping>

     <!-- struts2 -->

     <filter>

         <filter-name>struts2</filter-name>

         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

     </filter>

     <filter-mapping>

         <filter-name>struts2</filter-name>

         <url-pattern>/*</url-pattern>

     </filter-mapping>

</web-app>

3.  struts.xml

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

 <!DOCTYPE struts PUBLIC

     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

     "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

</struts>

4.  applicationContext.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:context="http://www.springframework.org/schema/context"

     xmlns:aop="http://www.springframework.org/schema/aop" 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/context http://www.springframework.org/schema/context/spring-context.xsd

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

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

     <!-- 加载properties文件 -->

     <context:property-placeholder location="classpath:db.properties" />

     <!-- 开启注解扫描  @Respostory  @Service  @Controller-->

     <context:component-scan base-package="cn.itheima"/>

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

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

         <property name="driverClass" value="${jdbc.driverClass}" />

         <property name="jdbcUrl" value="${jdbc.url}" />

         <property name="user" value="${jdbc.username}" />

         <property name="password" value="${jdbc.password}" />

     </bean>

     <!-- 声明sessionFactory -->

     <bean id="sessionFactory"

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

         <!-- 加载连接池 -->

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

         <property name="hibernateProperties">

              <value>

                   hibernate.show_sql=true

                   hibernate.dialect=org.hibernate.dialect.MySQLDialect

                   hibernate.hbm2ddl.auto=update

                   hibernate.format_sql=true

              </value>

         </property>

         <!-- 加载注解类 -->

         <property name="packagesToScan">

              <list>

                   <value>cn.itheima.domain</value>

              </list>

         </property>

     </bean>

    

     <!-- 事务管理器 -->

     <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">

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

     </bean>

    

     <!-- 事务注解驱动 -->

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

</beans>

5.  db.properties

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql:///sshtest

jdbc.username=root

jdbc.password=1234

6.  log4j.properties

#

# Hibernate, Relational Persistence for Idiomatic Java

#

# License: GNU Lesser General Public License (LGPL), version 2.1 or later.

# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.

#

### direct log messages to stdout ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###

#log4j.appender.file=org.apache.log4j.FileAppender

#log4j.appender.file.File=hibernate.log

#log4j.appender.file.layout=org.apache.log4j.PatternLayout

#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout

#log4j.logger.org.hibernate=info

log4j.logger.org.hibernate=debug

### log HQL query parser activity

#log4j.logger.org.hibernate.hql.ast.AST=debug

### log just the SQL

#log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###

log4j.logger.org.hibernate.type=info

#log4j.logger.org.hibernate.type=debug

### log schema export/update ###

log4j.logger.org.hibernate.tool.hbm2ddl=debug

### log HQL parse trees

#log4j.logger.org.hibernate.hql=debug

### log cache activity ###

#log4j.logger.org.hibernate.cache=debug

### log transaction activity

#log4j.logger.org.hibernate.transaction=debug

### log JDBC resource acquisition

#log4j.logger.org.hibernate.jdbc=debug

### enable the following line if you want to track down connection ###

### leakages when using DriverManagerConnectionProvider ###

#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕“需求响应动态冰蓄冷系统与需求响应策略的优化研究”展开,基于Matlab代码实现,重点探讨了冰蓄冷系统在电力需求响应背景下的动态建模与优化调度策略。研究结合实际电力负荷与电价信号,构建系统能耗模型,利用优化算法对冰蓄冷系统的运行策略进行求解,旨在降低用电成本、平衡电网负荷,并提升能源利用效率。文中还提及该研究为博士论文复现,涉及系统建模、优化算法应用与仿真验证等关键技术环节,配套提供了完整的Matlab代码资源。; 适合人群:具备一定电力系统、能源管理或优化算法基础,从事科研或工程应用的研究生、高校教师及企业研发人员,尤其适合开展需求响应、综合能源系统优化等相关课题研究的人员。; 使用场景及目标:①复现博士论文中的冰蓄冷系统需求响应优化模型;②学习Matlab在能源系统建模与优化中的具体实现方法;③掌握需求响应策略的设计思路与仿真验证流程,服务于科研项目、论文写作或实际工程方案设计。; 阅读建议:建议结合提供的Matlab代码逐模块分析,重点关注系统建模逻辑与优化算法的实现细节,按文档目录顺序系统学习,并尝试调整参数进行仿真对比,以深入理解不同需求响应策略的效果差异。
综合能源系统零碳优化调度研究(Matlab代码实现)内容概要:本文围绕“综合能源系统零碳优化调度研究”,提供了基于Matlab代码实现的完整解决方案,重点探讨了在高比例可再生能源接入背景下,如何通过优化调度实现零碳排放目标。文中涉及多种先进优化算法(如改进遗传算法、粒子群优化、ADMM等)在综合能源系统中的应用,涵盖风光场景生成、储能配置、需求响应、微电网协同调度等多个关键技术环节,并结合具体案例(如压缩空气储能、光热电站、P2G技术等)进行建模与仿真分析,展示了从问题建模、算法设计到结果验证的全流程实现过程。; 适合人群:具备一定电力系统、能源系统或优化理论基础,熟悉Matlab/Simulink编程,从事新能源、智能电网、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展综合能源系统低碳/零碳调度的科研建模与算法开发;②复现高水平期刊(如SCI/EI)论文中的优化模型与仿真结果;③学习如何将智能优化算法(如遗传算法、灰狼优化、ADMM等)应用于实际能源系统调度问题;④掌握Matlab在能源系统仿真与优化中的典型应用方法。; 阅读建议:建议结合文中提供的Matlab代码与网盘资源,边学习理论模型边动手调试程序,重点关注不同优化算法在调度模型中的实现细节与参数设置,同时可扩展应用于自身研究课题中,提升科研效率与模型精度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值