快速搭建ssh项目环境的具体步骤
2014-06-26 14:25
489 查看
1.1. 项目环境搭建
1.1.1. 框架在项目中功能分配
MyEclipse中添加ssh2 capabilities以及导MyEclipse自带包的操作步骤参考:http://www.doc88.com/p-631428603878.html
1.1.2. 测试Spring
配置Bean<bean id="date" class="java.util.Date" /> |
@Test public void testSpring(){ ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); Date date=(Date) context.getBean("date"); System.out.println(date); } |
Wed Feb 13 14:39:23 CST 2013 |
1.1.3. 测试Hibernate
<hibernate-configuration> <session-factory> <propertyname="dialect">org.hibernate.dialect.MrySQLDialect</property> <propertyname="connection.url">jdbc:mysql://localhost:3306/shop</property> <propertyname="connection.username">root</property> <propertyname="connection.password">root</property> <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property> <propertyname="myeclipse.connection.profile">mysql5</property> <property name="javax.persistence.validation.mode">none</property> </session-factory> </hibernate-configuration> |
public class Category implements java.io.Serializable { private Integerid; private Stringtype; private Boolean hot; // 省略get set方法 } |
<hibernate-mapping> <classname="cn.it.shop.pojo.Category"table="category"catalog="shop"> <idname="id"type="java.lang.Integer"> <columnname="id"/> <generatorclass="native"/> </id> <propertyname="type"type="java.lang.String"> <columnname="type"length="20"/> </property> <propertyname="hot"type="java.lang.Boolean"> <columnname="hot"/> </property> </class> </hibernate-mapping> |
Session session = HibernateSessionFactory.getSession(); Category category = new Category(); category.setType("A类别"); try { session.getTransaction().begin(); session.save(category); session.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally{ session.close(); } |
1.1.4. Spring与Hibernate整合
l 配置数据源<!—配置成后,可以删除hibernate数据库的连接信息—> <beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"> <propertyname="jdbcUrl"value="jdbc:mysql://localhost:3306/shop"/> <propertyname="password"value="root"/> <propertyname="user"value="root"/> <propertyname="driverClass"value="com.mysql.jdbc.Driver"/> </bean> |
<!-- Spring与Hiberante整合的目的是,Spring来管理声明式事务 --> <beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="configLocation"value="classpath:hibernate.cfg.xml"/> <propertyname="dataSource"ref="dataSource"/> </bean> |
<beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <propertyname="sessionFactory"ref="sessionFactory"/> </bean> |
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 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-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "> </beans> |
<tx:adviceid="advice"transaction-manager="transactionManager"> <tx:attributes> <tx:methodname="save*"propagation="REQUIRED"rollback-for="Throwable"/> <tx:methodname="delete*"propagation="REQUIRED"/> <tx:methodname="update*"propagation="REQUIRED"/> <tx:methodname="*"read-only="true"/> </tx:attributes> </tx:advice> |
<aop:config> <aop:advisoradvice-ref="advice"pointcut="execution(* cn.it.shop.service.impl.*.*(..))"/> </aop:config> |
public class CategoryServiceImpl implements CategoryService{ private SessionFactorysessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public void save(Category category){ Session session=sessionFactory.getCurrentSession(); session.save(category); } } |
@Test public void testHibernate_Spring(){ ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml"); CategoryService categoryImpl=(CategoryService)context.getBean("categoryServiceImpl"); Category category = new Category(); category.setCtype("动物33"); categoryImpl.save(category); } |
1.1.5. 测试Struts框架
注意:如果Struts没有与Spring整合则不要添加struts2-spring-plugin添加后,反而创建Action的时候会报错.l 添加Struts.xml配置文件, 设置基本的参数, 和Struts常量
<struts> <constantname="struts.devMode"value="true"/> <packagename="shop"extends="struts-default"> <!-- action配置在此处 --> </package> </struts> |
<filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> |
public String login(){ System.out.println("---进入到了Action---"); returnSUCCESS; } |
<packagename="shop"extends="struts-default"> <!-- action配置在此处 --> <actionname="users"class="cn.it.shop.action.UsersAction"method="login"> <resultname="success">/success.jsp</result> </action> </package> |
1.1.6. Spring与Struts整合
把Action 纳入到Spring的容器中.让Spring来创建,这样Action所依赖的业务逻辑类也会注入进来,struts2-spring-plugin插件中修改了创建Acttion的Bean,改成了StrutsSpring
我们会发现struts2-spring-plugin只有一个类和一个struts-plugin.xml配置文件, 我们打开struts-plugin配置文件源码如下:struts-plugin.xml此配置文件在项目启动的时候会被加载
<struts> <beantype="com.opensymphony.xwork2.ObjectFactory"name="spring"class="org.apache.struts2.spring.StrutsSpringObjectFactory"/> <!-- 修改了创建Struts Action的工厂类,默认的配置在default.properties配置文件中 --> <constantname="struts.objectFactory"value="spring"/> </package> </struts> |
### if specified, the default object factory can be overridden here ### Note: short-hand notation is supported in some cases, such as "spring" ### Alternatively, you can provide a com.opensymphony.xwork2.ObjectFactory subclass name here # struts.objectFactory = spring ### specifies the autoWiring logic when using the SpringObjectFactory. ### valid values are: name, type, auto, and constructor (name is the default) struts.objectFactory.spring.autoWire = name |
<context-param> <!-- 默认是到根目录加载配置文件,所以要设置spring配置文件的实际目录 --> <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> |
public String login(){ // 如果能注入,则说明完成了Action与业务逻辑类的解耦,整合成功! System.out.println(usersServiceImpl); return SUCCESS; } |
相关文章推荐
- ssh项目环境搭建步骤(web项目)
- ssh项目环境搭建步骤(web项目)
- ssh环境搭建步骤
- [置顶] ssh整合步骤之一(搭建环境)
- centos 6.3 最小安装系统下快速搭建环境步骤分享
- Myeclipse10 maver web项目,java web 开发,快速入门,环境搭建
- 【SSH项目实战】国税协同平台-2.环境搭建和整合
- 5分钟利用 Myeclipse8.6 快速搭建ssh(JPA)开发环境 并自动生成dao ,model
- ubuntu14.04环境下 快速搭建PHP+apache的web server步骤
- 转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)
- Myeclipse10 maver web项目,java web 开发,快速入门,环境搭建
- 快速搭建Struts1.x开发环境详细步骤与讲解
- WEB应用环境的搭建(二)Eclipse配置Tomcat步骤及创建web项目
- ssh搭建项目步骤
- ssh搭建项目步骤
- Android 环境快速搭建-详细步骤-win7-64bit
- Centos 6+resin3.1.12+nginx1.x 项目发布环境快速搭建
- 在Eclipse上使用egit插件通过ssh协议方式上传项目代码的具体步骤
- SSH联合开发项目环境搭建
- Android 环境快速搭建-详细步骤-win7-64bit