MyEclipse 使用Maven构建SSH框架

构建基础框架

        在src/main/java的代码资源中,构建包

 

       

 

        结构如上所示。

加入Spring架构

        添加Spring依赖

        根据spring javadoc的描述:If you are using Maven for dependency

        management youdon't even need to supply the logging dependency explicitly.

        For example, tocreate an application context and use dependency injection

        to configure anapplication, your Maven dependencies will look like this:

 

       

 

        上述是对于spring的cotext的添加.

 

       

 

        添加spring-beans依赖

        添加spring-aop、aopalliance1.0、aspectjweaver、spring-aspects等依赖

    <!-- spring dependency -->
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-core</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-context</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-context-support</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-beans</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-tx</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>aopalliance</groupId>
    	<artifactId>aopalliance</artifactId>
    	<version>1.0</version>
    </dependency>
    <dependency>
    	<groupId>org.aspectj</groupId>
    	<artifactId>aspectjweaver</artifactId>
    	<version>1.7.1</version>
    </dependency>
    <!-- spring aspects -->
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-aop</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-aspects</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-orm</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-oxm</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    
    <!-- spring jdbc -->
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-jdbc</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>
    <!-- spring web -->
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-webmvc</artifactId>
    	<version>3.2.0.RELEASE</version>
    </dependency>

 

        上述为spring需要添加的dependency

 

        添加Spring.xml

 

        在src/main/sources资源文件夹下添加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-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx 
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
     </beans>


 

       在web.xml中加入

 

        <!-- spring配置文件的位置 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	
	<!-- spring -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>


 

       将以下代码添加至applicationContext,注意:必须关闭aop cglib的代理,不然Spring可能会自动使用cglib给你生成二进

       制代理。

 

        <!-- 用注解方式注入bean -->
	<context:annotation-config />
	<context:component-scan base-package="net.web" />
	
	<!-- 开启对aspectj的支持 -->  
        <aop:aspectj-autoproxy />
    
        <!-- 关闭aop cglib代理 -->
        <aop:config proxy-target-class="true"/>


 

加入Struts架构

       添加Struts依赖

    <!-- struts dependency -->
    <dependency>
    	<groupId>org.apache.struts</groupId>
    	<artifactId>struts2-core</artifactId>
    	<version>2.3.7</version>
    </dependency>
    
    <!-- struts spring plugin -->
    <dependency>
    	<groupId>org.apache.struts</groupId>
    	<artifactId>struts2-spring-plugin</artifactId>
    	<version>2.3.7</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.struts.xwork</groupId>
    	<artifactId>xwork-core</artifactId>
    	<version>2.3.7</version>
    </dependency>
    <dependency>
    	<groupId>ognl</groupId>
    	<artifactId>ognl</artifactId>
    	<version>3.0.5</version>
    </dependency>
    <!-- commons dependency -->
    <dependency>
    	<groupId>commons-logging</groupId>
    	<artifactId>commons-logging</artifactId>
    	<version>1.1.1</version>
    </dependency>
    <dependency>
    	<groupId>commons-logging</groupId>
    	<artifactId>commons-logging-api</artifactId>
    	<version>1.1</version>
    </dependency>
    <dependency>
    	<groupId>commons-io</groupId>
    	<artifactId>commons-io</artifactId>
    	<version>2.0.1</version>
    </dependency>
    <dependency>
    	<groupId>commons-fileupload</groupId>
    	<artifactId>commons-fileupload</artifactId>
    	<version>1.2.2</version>
    </dependency>
    
    <!-- struts other -->
    <dependency>
    	<groupId>javassist</groupId>
    	<artifactId>javassist</artifactId>
    	<version>3.11.0.GA</version>
    </dependency>
    <dependency>
    	<groupId>org.freemarker</groupId>
    	<artifactId>freemarker</artifactId>
    	<version>2.3.19</version>
    </dependency>
    
    <!-- struts convention plugin -->
    <dependency>
    	<groupId>org.apache.struts</groupId>
    	<artifactId>struts2-convention-plugin</artifactId>
    	<version>2.3.7</version>
    </dependency>
    
    <!-- struts cglib dependency -->
    <dependency>
    	<groupId>asm</groupId>
    	<artifactId>asm</artifactId>
    	<version>3.3</version>
    </dependency>
    <dependency>
    	<groupId>asm</groupId>
    	<artifactId>asm-commons</artifactId>
    	<version>3.3</version>
    </dependency>
    <dependency>
    	<groupId>asm</groupId>
    	<artifactId>asm-tree</artifactId>
    	<version>3.3</version>
    </dependency>


 

       上述为Struts需要添加的dependency

 

       添加Struts.xml

 

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/str    uts-2.1.dtd">
    <struts>
        <!-- 开发者模式 -->
	<constant name="struts.devMode" value="true"></constant>
	<constant name="struts.configuration.xml.reload" value="true"/> 
        <constant name="struts.convention.classes.reload" value="true" />
    
	<constant name="struts.ui.theme" value="simple"></constant>
	<constant name="struts.custom.i18n.resources" value="lang"></constant>
        <constant name="struts.convention.result.path" value="/html" ></constant>
        <constant name="struts.convention.action.disableScanning" value="false"/>
        <constant name="struts.convention.default.parent.package" value="default" ></constant>
        <constant name="struts.convention.result.flatLayout" value="true"/> 
	
	<!-- 默认package -->
	<package name="default" extends="struts-default" namespace="/">
		<global-results>
			<result name="error"></result>
		</global-results>
		<global-exception-mappings>
			<exception-mapping result="error" exception="java.sql.SQLException"></exception-mapping>
		</global-exception-mappings>
	</package>
    </struts>    


 

       struts.devMode:开发者模式

       struts.configuration.xml.reload:xml修改保存后重载

       struts.convention.classes.reload:修改class后重载

       struts.convention.result.path:目标结果基本路径,所有的location都基于这个路径

       struts.convention.action.disableScanning:不自动扫描action

       struts.convention.default.parent.package:默认包父类

       struts.convention.result.flatLayout: 是否将返回的字符串作为资源名的一部分,例如TestAction中方法返回“success”,如果设为true,则视图资源名为test-success.jsp,false则为test.jsp

 

        <!-- 默认package -->
	<package name="default" extends="struts-default" namespace="/">
		<global-results>
			<result name="error"></result>
		</global-results>
		<global-exception-mappings>
			<exception-mapping result="error" exception="java.sql.SQLException"></exception-mapping>
		</global-exception-mappings>
	</package>


 

       上述为全局异常管理机制。

 

       在web.xml中添加struts2拦截器

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>  
	        <param-name>config</param-name>  
	        <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value> 
    	</init-param>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

 

加入Hibernate架构

       添加Hibernate依赖

        <!-- hibernate dependency -->
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-core</artifactId>
		<version>3.6.10.Final</version>
	</dependency>
	<dependency>
		<groupId>antlr</groupId>
		<artifactId>antlr</artifactId>
		<version>2.7.6</version>
	</dependency>
	<dependency>
		<groupId>dom4j</groupId>
		<artifactId>dom4j</artifactId>
		<version>1.6.1</version>
	</dependency>
	<dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.1</version>
	</dependency>

        <!-- Hibernate uses slf4j for logging, for our purposes here use the simple backend -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-nop</artifactId>
		<version>1.6.1</version>
	</dependency>
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
		<version>1.6.1</version>
	</dependency>

 

       上述为Hibernate要添加的dependency

 

       添加hibernate支持

 

       在spring的applicationContext.xml文件中添加对Hibernate的支持:

 

        <!-- 数据库连接池 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/netWeb" />
		<property name="username" value="root" />
		<property name="password" value="88308887" />
        </bean>
        <!-- hibernate sessionFactory 创建 -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<!-- 扫描pojo包,自动建立pojo的Entity类(声明式处理) -->   
		<property name="packagesToScan">
			<list>
				<value>net.web.pojo</value>
			</list>
		</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>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
			</props>
		</property>
	</bean>
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory" ref="sessionFactory"></property>
        </bean>


 

 

       添加事务管理

 

        <!-- 事务配置 -->
        <bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="login" read-only="true" />
			<tx:method name="find*" read-only="true" />
			<tx:method name="add*" propagation="REQUIRED" />
		</tx:attributes>
	</tx:advice>
	<aop:config>
		<aop:pointcut id="myPointcut" expression="execution(public * net.web.service..*.*(..))" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" />
	</aop:config>


 

       添加其他依赖

 

       SSH其他还需要添加的为:

 

        <!-- mysql dependency -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.14</version>
	</dependency>
	
	<!-- other dependency -->
	<dependency>
		<groupId>commons-dbcp</groupId>
		<artifactId>commons-dbcp</artifactId>
		<version>1.4</version>
	</dependency>
	<dependency>
		<groupId>commons-pool</groupId>
		<artifactId>commons-pool</artifactId>
		<version>1.6</version>
	</dependency>
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-lang3</artifactId>
		<version>3.1</version>
        </dependency>
	


 

       至此所有的SSH配置完成,可以进行SSH的声明式开发

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值