搭建SSH项目过程


注:http://blog.csdn.net/eson_15/article/details/51277324此文章是根据这个作者的步骤搭建SSH环境时本人遇到的问题,在此作为记录

一、新建dynamic web project

   1.deployment Descriptor ---右键Generate----可以生成web.xml文件等
   2.User Library  : Spring的jar包很多,开发的时候建议将它们分个类,然后依次添加到User Library,方便管理,也一目了然。(build path---add Library---User Library---new-- add external Jars )
!!后来发现使用user Library 这种方式,不会自动copy到项目的lib目录下,这样部署到tomcat上会出现问题。使用网上的解决办法:

右键项目,选择properties,然后选择deployment assembly,在这里,将自己用的到UserLibrary添加进来就OK了,在部署项目的时候,eclipse会将UserLibrary的所有jar包copy到tomcat的项目的lib目录下,这样就可以加载了。---仍然不行 所以最后还是直接拷贝到了lib目录下 使用web libraries


   3. @RunWith(SpringJUnit4ClassRunner.class)  
      @ContextConfiguration(locations="classpath:beans.xml")  测试spring Ioc功能

这一步只做了如下配置:
1)导包spring-4.2.4-core、spring-4.2.4-aop
2)在applicationContext.xml中加入bean的定义

3) junit测试文件

   


4.在applicationContext.xml中配置:dataSource SqlSessionFactory transactionManager



      <!-- com.mchange.v2.c3p0.ComboPooledDataSource类在c3p0-0.9.5.1.jar包的com.mchange.v2.c3p0包中 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource.class">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shop" />
<property name="user" value="root" />
<property name="password" value="123456" />
</bean>
<!-- org.springframework.orm.hibernate4.LocalSessionFactoryBean类在spring-orm-4.2.4.RELEASE. 
jar包的org.springframework.orm.hibernate4包中 -->
<bean id="SqlSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name ="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:hibernate.cfg.xml" /> <!-- 加载hibernate配置文件 -->
</bean>
<!-- org.springframework.orm.hibernate4.HibernateTransactionManager类spring-orm-4.2.4.RELEASE.jar包的org.springframework.orm.hibernate4包中 -->

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="SqlSessionFactory" ref="SqlSessionFactory"/>
</bean>


     在此对比SSM 使用mybatis JPA的配置:

<!-- local development环境 -->
<beans profile="development">
<context:property-placeholder ignore-resource-not-found="true"
location="classpath*:/application.properties,
           classpath*:/application.development.properties" />
<!-- 数据源配置, 使用Tomcat JDBC连接池 -->
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />

<!-- Connection Pooling Info -->
<property name="maxActive" value="${jdbc.pool.maxActive}" />
<property name="maxIdle" value="${jdbc.pool.maxIdle}" />
<property name="minIdle" value="0" />
<property name="defaultAutoCommit" value="false" />
</bean>


<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
<property name="typeAliasesPackage" value="yitai.common.entity" />
<!-- 显式指定Mapper文件位置 -->
<property name="mapperLocations">
<list>
<value>classpath:/mybatis/*Mapper.xml</value>
<value>classpath:/mybatis/**/*Mapper.xml</value>
</list>
</property>
</bean>

<!-- Jpa Entity Manager 配置 -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/>
<property name="packagesToScan" value="yitai.common.entity"/>
<property name="jpaProperties">
<props>
<!-- 命名规则 My_NAME->MyName -->
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
</props>
</property>
</bean>

<!-- Jpa 事务配置 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>

</bean>


5.仅对struts环境进行测试时,出现问题:struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
因为引入了struts2-spring-plugin.jar包,
该插件引入工程后,会自动设置Struts的ObjectFactory为StrutsSpringObjectFactory,从而让Spring的IOC容器来托管Struts的Action。所以导致了启动的问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值