写道
1 先加入spring 选择全部JAR包文件 并且选择copy check-----这项 意思是把jar包都拷贝到项目的lib文件下 选择下一步 都选择默认 点击完成
2 加入hibernate 交给spring去管理 把包全部选上 并且选择copy check--意思是把jar包都拷贝到项目的lib文件下 选择下一步 选择接受spring管理(Spring configuration file--)项 点击下一步
选择已经存在的配置文件(Existing spring configuration file)项 设置SessionFactory ID 可以随便设置 点击下一步 选择数据库的配置 并且设置bean id为dataSource 其它配置根据你所选择的数据库区配置 选择下一步 选择不创建工厂类 添加完成后 发现相对以往 我们少了个hibernate的配置文件 而在applicationContext中已经配置好了数据源
创建映射文件*.hbm.xml 利用myelplic就可以实现 并把此文件自动添加到applicationContext.xml文件中
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/mldn</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysqladmin</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</property>
<property name="mappingResources">
<list>
<value>org/lxh/ssh/Person.hbm.xml</value>
</list>
</property>
</bean>
3在此时执行数据的增删查改只要处理业务的类 只要继承了Spring中的HibernateDaoSupport就可以实现此功能 并且在HibernateDaoSupport类中可以获取数据库的连接对象,它有一个静态的方法 getSession() 如
//这是个增加数据的方法
public class PersonDAOImpl extends HibernateDaoSupport {
public void insert(Person person) {
this.getSession().save(person) ;
this.getSession().beginTransaction().commit() ;
}
新建一个处理业务的类 PersionDaoImp
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class PersonDAOImpl extends HibernateDaoSupport {
public void insert(Person person) {
this.getSession().save(person) ;
this.getSession().beginTransaction().commit() ;
}
}
但是HibernateDaoSupport要靠Spring中HibernateTemplate模板的支持的SessionFactory才可以使用 这时就应该去配置applicationContext.xml文件
4配置模板 修改配置applicationContext.xml文件
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
模板配置好了后 还得为业务处理类加入模板才可以使用
5为业务处理类添加模板 继续修改applicationContext.xml文件
<bean id="persondao" class="org.lxh.ssh.PersonDAOImpl">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
但是我们在处理业务类中并没有去接受这个模板啊 记住在HibernateDaoSupport类中已经设置了定义模板的操作 只要你在配置文件中配置好模板的操作 并且你所的业务的处理类继承了HibernateDaoSupport类 那么你就可以直接去处理业务了
6 测试一下
//读取配置文件信息
ApplicationContext text=null;
text=new ClassPathXmlApplicationContext("applicationContext.xml");
//从配置文件中取得业务处理的类
PersonDaoImp p=(PersionDaoImp)text.getBean("persondao");
//新建一个实体类对象 这个实体类中有get和set方法 这个实体类也可以在application中去配置
Persion per=new Person();
//最好去调用业务类的相应方法
p.insert(per);
到这里Spring与hibeinate的整合就算完成了
写道
之前的hibernate Struts 与 spring整合配置1
已经介绍了加入了spring和hibeinate 接下来就应该加入Struts了
1 添加Struts
2 配置 这是ssh配置的难点 必须要掌握好
3 首先建立Action和form类
4 正式配置开始
首先应该配置好web.xml容器 加载监听器
--添加Spring支持
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
--启动配置 怎么去启动
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup> --表示服务自动启动
</servlet>
在Action中定义一个实现业务类的属性 这个属性是调用业务的方法 这个业务方法的调用时依赖于spring的注入的 所以在使用的时候应该定义这个业务类的一个变量 并且为这个变量生成get和set方法 在Action中调用的业务类都是要依赖注入到spring中去的 ,只要依赖注入到spring中去 并且处理业务的控制器中压迫使用就必须生成get和set方法
public class PersonAction extends DispatchAction {
private PersonDAOImpl persondao ;
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward insert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
PersonForm personForm = (PersonForm) form;// TODO Auto-generated method stub
Person per = new Person() ;
per.setName(personForm.getName()) ;
per.setPassword(personForm.getPassword()) ;
persondao.insert(per) ;
return null;
}
public PersonDAOImpl getPersondao() {
return persondao;
}
public void setPersondao(PersonDAOImpl persondao) {
this.persondao = persondao;
}
}
看上去你好像啥都没做,而事实上,注入工作已经由AutowiringRequestProcessor自动完成。
修改struts的配置文件信息
添加插件 plug-in 目的是为了方便管理Spring
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
写道
//加入Spring中的DelegatingRequestProcessor代理请求处理,目的是将Struts中的请求及应答用
//Spring的ioc容器中的Bean来处理
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
修改后的Struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="personForm"
type="org.lxh.struts.form.PersonForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action attribute="personForm" input="/form/person.jsp"
name="personForm" parameter="status" path="/person" scope="request"
type="org.lxh.struts.action.PersonAction" />
</action-mappings>
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
<message-resources parameter="org.lxh.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>
修改Spring的配置文件信息 applicationContext.xml的信息 把Action动作添加到applicationContext.xml文件中 也可以说是依赖注入到Spring
<bean name="/person" class="org.lxh.struts.action.PersonAction">
<property name="persondao">
<ref bean="persondao"/>
</property>
</bean>
修改后的applicationContext.xml
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/mldn</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysqladmin</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/lxh/ssh/Person.hbm.xml</value>
</list>
</property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="persondao" class="org.lxh.ssh.PersonDAOImpl">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean name="/person" class="org.lxh.struts.action.PersonAction">
<property name="persondao">
<ref bean="persondao"/>
</property>
</bean>
</beans>
分享到:
相关推荐
1. **Spring整合** - 在MyEclipse中添加Spring支持,选择相应的Spring版本和开发包,如Spring 1.2系列。 - 创建Spring配置文件(如`applicationContext.xml`),配置Bean定义,包括Service层、DAO层以及Action类等...
**Spring整合Struts** Spring整合Struts主要有三种方式: 1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`...
Struts技术资料 hibernate技术资料 spring技术资料 ssh整合技术(struts与hibernate整合,struts与spring整合,hibernate与spring整合,struts,hibernate,spring整合)
- 集成Hibernate:通过Spring的SessionFactoryBean配置,将Hibernate与Spring整合,使得数据库操作可以通过Spring的依赖注入来完成。 - 配置Struts2:在struts.xml中定义Action,通过Spring插件实现Action的依赖...
`struts2-spring-plugin.xml`配置Struts2与Spring的集成,确保Action类由Spring容器管理。`spring-context.xml`中,需要配置数据源、SessionFactory、事务管理器以及各业务层和DAO层的bean。Hibernate的`hibernate....
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
在整合过程中,开发者需要注意配置文件的正确设置,包括Struts2的struts.xml、Hibernate的hibernate.cfg.xml以及Spring的applicationContext.xml等。还需要确保各框架之间的依赖注入正确无误,例如,Spring需要知道...
在Java Web开发中,整合Hibernate、Struts和Spring框架是一个常见的需求,这三者结合能够构建出高效、灵活的企业级应用程序。以下将详细介绍这三个框架的整合配置及其关键知识点。 **Hibernate** 是一个强大的对象...
通过以上步骤,一个基本的Struts、Spring和Hibernate整合的应用就搭建完成了。这个整合的关键在于Struts处理HTTP请求,Spring管理业务对象和依赖,而Hibernate则处理数据库操作。这样的架构可以实现松耦合,便于代码...
《Struts Hibernate Spring集成开发宝典》选取的实例繁简适中,与实际开发工作紧密结合,内容讲解由浅入深、循序渐进,可以满足不同层次读者的需求。 作者简介 陈天河,具有多年的软件开发经验,从事基于Java的Web...
在Java企业级开发中,SSH(Spring、Struts2、Hibernate)是一个常见的三大框架整合,它们各自负责不同的职责,共同构建出高效、可维护的Web应用程序。本实例旨在帮助初学者理解并掌握SSH框架的集成与应用。 首先,...
《Struts Hibernate Spring集成开发宝典》以Struts,Hibernate,Spring为核心详细地讲解了这三个组件的基础知识和基本使用方法,并通过一系列集成开发实例讲解了这三个组件在J2EE项目中的应用。《Struts Hibernate ...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2作为MVC框架处理请求和展示,Spring提供依赖注入和事务管理,Hibernate则作为ORM框架处理数据库操作。将这三个框架整合在...
《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...
"struts2-hibernate3-spring整合需要的全部jar包"正是为了解决这个问题,它包含了所有必要的库文件,使得开发者可以直接引入而无需担心版本冲突。 以下是这个整合所需的一些关键jar包及其作用: 1. **Struts2框架*...
Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...
7. **整合过程**:SSH整合主要包括配置Struts的配置文件(struts-config.xml),Spring的配置文件(spring-beans.xml),以及Hibernate的配置文件(hibernate.cfg.xml)。Struts和Spring之间通过ActionServlet和Spring的...
同时,Spring还可以整合Struts和Hibernate,提供数据源配置、事务管理等功能,使得三大框架能够无缝协作。 4. 集成开发:这三个框架的集成通常是为了创建一个更加健壮和灵活的应用架构。Spring作为“胶水”,可以...
整合Struts、Spring和Hibernate可以构建出高度模块化的应用,提高开发效率和代码质量。然而,随着Java EE技术的发展,现代Web应用更多地转向Spring Boot、Spring MVC和MyBatis等更现代的解决方案,它们在易用性、...