SSH框架整合

SSH整合的基本步骤(个人笔记)

新建一个maven项目 导包(一般顺序从最底层hibernate----spring----struts2

先从hibernate开始整合:

 引入servlet依赖  引入hibernate依赖 引入mysql依赖

在导入hibernate框架之前可以先测试一下eclipse和数据库可不可以连接 测试如下:

eclipse里有个Data source Explorer(数据源的浏览器) ,点击Database Connections右键new一个,选择一个自己的数据库,在drivers里Name/Type点击添加,选择数据库的版本,JAR List移除默认的选择电脑本地的一个java包添加,Properties里value的路径,驱动类,密码等。ok后点击Test Connection 连接测试)


在resoources文件里新建一个配置文件hibernate.cfg.xml


在实体类生成一个映射文件(hibernate.cfg.xml关联映射文件!)


在测试类进行测试 感觉还ok!



然后整合spring

继续在hibernate引入依赖关系: Spring依赖, c3p0数据库连接池, Hibernate整合Spring ,spring-aspects:解析事务的表达式

依赖关系没有一次性导进去 为了方便理解 需要什么导什么

创建spring配置文件(给每个包写一个) 

 applicatioContext-public.xml  公共的 步骤如下:

1.引入数据源:创建一个db.properties (用来把hibernate里连接数据库的信息移除过来)


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

2. 配置数据源:配置数据库连接池c3p0

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${uname}"></property>
<property name="password" value="${upass}"></property>
<property name="jdbcUrl" value="${url}"></property>
<property name="driverClass" value="${driverClass}"></property>


<property name="initialPoolSize" value="${initPoolSize}"></property>
<property name="maxPoolSize" value="${maxPoolSize}"></property>
</bean>

3.配置sessionFactory

<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 引入数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 加载hibernate配置文件 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
<!-- 加载映射文件 -->
<property name="mappingLocations" value="classpath:com/entity/Person.hbm.xml"></property>
</bean>

4.配置事务管理器

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

5.配置事务的属性

<tx:advice id="myAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="*" />
</tx:attributes>
</tx:advice>

6.配置事务的切点

<aop:config>  
<aop:pointcut expression="execution(* com.dao.*.*(..))" id="myPoint"/>
<aop:advisor advice-ref="myAdvice" pointcut-ref="myPoint"/>
</aop:config>

applicatioContext-action.xml  注入一个service

<bean id="personAction" class="com.action.PersonAction" scope="prototype">
<property name="personService" ref="personServiceImp"></property>
</bean>

applicatioContext-dao.xml     引一个sessionFactory

<bean id="personDaoImp" class="com.dao.PersonDaoImp">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

applicatioContext-service.xml    注入dao

<bean id="personServiceImp" class="com.service.PersonServiceImp">
<property name="personDao" ref="personDaoImp"></property>
</bean>

总结就是:action里面引用了service,service里面引用了dao,dao里面引用public里面的sessionFactory


最后整合struts2

还是在hibernate中引入依赖关系:Struts2依赖,struts2整合spring的插件包 ,log4j

创建struts2配置文件 

<struts>
<package name="myPackage" extends="struts-default">
<action name="person*" class="personAction" method="{1}">
<result>/success.jsp</result>
</action>
</package>

</struts>

配置web.xml




ps:可以在eclipse安装hibernate和spring插件

在线下载:window---Eclipse Marketplace--搜索hibernate--选择插件--Install下载






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值