Struts2+Spring+Hibernate
Struts2.3.15 + spring 2.5.6 +hibernate 3.610
开始的时候就加了有一些包基础包、对于那些是必须要的包、也是分不清楚(还得请大神指教) 但多是却哪些包在补、
web 配置:
<!-- Struts2 web配置 过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring 监听器 扫描 config 文件下的applicationContext.xml文件 -->
<!-- 可以是 *.xml 表示扫描所有的xml文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
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"
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">
<!-- Spring 扫描注解的路径 -->
<context:annotation-config />
<context:component-scan base-package="com" />
<!-- 将数据库连接的基本信息填写在properties文件夹里 -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:config/jdbc.properties</value>
</property>
</bean>
<!-- 调用jdbc.properties里的信息 -->
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- 使用注解的形式将model里面的对象交给hibernate来管理 -->
<bean id="sf"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.Model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<!-- Mysql方言 -->
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<!-- 打印出sql语句 -->
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<!-- 通过spring来管理实务 具体是怎么管理的????-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sf"></property>
</bean>
</beans>
Struts.xml 配置:
<struts>
<package name="" extends="struts-default" >
<!-- userAction 是通过spring来管理的 -->
<action name="index" class="userAction" method="select">
<result name="success">/login.jsp</result>
</action>
</package>
</struts>
action层 UserAcrion 类:
/**
* action类 相当于一个control层、、
* spring通过注解得到 IUserService的一个对象
* 注解写在getter上
*/
@Controller("userAction")
@Scope("prototype")
public class UserAction extends ActionSupport {
private IUserService userService;
// getter 和setter @Resource写在getter上
public String select(){
User user;
user=userService.selectUser();
return SUCCESS;
}
}
service 层: UserServiceImp
/**
* service层对数据逻辑的操作
* IUserMapper里面对数据库操作
* 通过注解实例
*/
@Service("userService")
public class UserServiceImp implements IUserService {
// getter 和setter @Resource写在getter上
private IUserMapper userMapper;
//操作业务逻辑
public User selectUser() {
User user=userMapper.select();
return user;
}
}
dao层 UserMapperImp
/**
* Mapper层管理数据库
* 增删改查
* 已经将hibernate交给spring来管理
* 所以可以通过注入得到HibernateTemplate对象
*/
@Component("userMapper")
public class UserMapperImp implements IUserMapper {
// getter 和setter @Resource写在getter上
private HibernateTemplate hibernateTemplate;
//查找 find("hql") hql查询语句
public User select() {
//具体操作语句见文档、为了能将小框架打通、简单得到一个对象
List<User> u= hibernateTemplate.find("from User u where u.name='nie'");
User user=u.get(0);
return user;
}
}
对于model层、就只有设置:类前面@entity 主键前面@Id和@GeneratedValue 只要名称跟数据库里面相同就可以
对于SSH配置还不熟悉、部署项目效率不高、而且很多地方不完善、欢迎小伙伴来提意见来改进、
分享到:
相关推荐
本项目名为“ssh初步整合实现邮件的发送和上传文件的功能的小项目”,它展示了如何利用SSH框架来实现邮件发送和文件上传的核心功能,这对于日常业务流程自动化或用户互动是十分有用的。 首先,让我们详细了解一下...
SSH整合是Java开发中一种常见的Web应用程序架构模式,它由Spring、Struts2和Hibernate三个开源框架组成。这三个框架分别负责不同的职责,Spring提供依赖注入和面向切面编程,Struts2作为MVC(Model-View-Controller...
基于eclipse下的struts2+spring+hibernate整合,写的很详细,对于初步学习者很有帮助。
8. **测试与优化**:完成初步整合后,进行单元测试和集成测试,确保流程的正常运行。根据需求进行性能优化,如调整缓存策略、数据库索引等。 提供的压缩包文件包含了集成所需的各种插件和JAR包,它们是整合过程中不...
通常,一个简单的CRUD操作测试就能初步确认整合是否正确。 通过以上步骤,我们完成了SSH整合的基本配置。这种整合方式使得项目具有良好的分层结构,提高了代码的可维护性和可扩展性。在实际开发中,我们还需要根据...
同时,还需要在Struts的配置文件中定义Action,连接Controller与Service,从而完成SSH的初步集成。 总的来说,SSH集成涉及多个配置文件的修改和库的导入,包括struts.xml、spring.xml和hibernate.cfg.xml等。此外,...
此时,项目的初步整合已完成,但还有一些调整工作需要做。 由于ASM2.2.3与Spring中的某个包冲突,需要删除该项目下的asm-2.2.3.jar。同时,需要添加commons-pool.jar,可以在Spring框架的lib目录下找到。此外,还...
系统通过SSH框架整合,使得业务逻辑、数据处理和用户界面得到有效的解耦,提高了代码的可维护性和复用性。系统功能简洁,主要目的是让学生掌握SSH框架的综合运用。 1. **系统功能** - **注册**:用户可以使用英文...
完成struts2+spring+hibernate整合所需的jar包与基本结构,仅实现初步整合,无其它扩展功能。使用struts-2.5.12 spring-4.3.10 hibernate-5.2.10
在"简单的SSH框架初步实现"项目中,首先需要配置这三大框架的环境,包括添加对应的库依赖,设置配置文件(如Spring的beans.xml、Struts的struts.xml以及Hibernate的hibernate.cfg.xml)。然后,根据业务需求,定义...
利用Spring Hibernate Struts2初步整合实现的通讯录的查询和添加功能 没有实现删除和更新操作。前台也用到了jquery和ajax.图片melody我删除了 大家可以自己再加。其中hibernate实现了 1对1的共享主键和外键映射 1对...
通过以上步骤,可以完成SSH框架的初步整合。然而,实际开发中还需要考虑更多细节,比如异常处理、权限控制、国际化等。同时,为了提高代码的可读性和可维护性,应该遵循良好的编码规范和设计模式。SSH整合使得开发者...
6. **配置 Struts-Spring 整合**:在 struts-config.xml 中配置 DelegatingRequestProcessor,让 Struts 请求由 Spring 处理,实现控制反转。 7. **添加 Hibernate 支持**:引入 Hibernate 相关库(hibernate-core,...
整合SSH技术资料,全面讲解了SSH的各方面的技术,对你初步掌握SSH很有帮助。
- ch04.rar:整合SSH框架,实现完整的业务流程。 通过这些章节的学习,开发者可以掌握SSH框架的基本用法,并能构建一个实际运行的Web应用程序,同时理解数据库的连接与操作。实践中遇到的问题可以通过调试、查阅...
"FirstSSH"可能是项目或者文件夹的名称,暗示着这是对SSH整合的初步尝试或入门教程。在这个"FirstSSH"中,我们可能找到一个简单的Web应用程序,包含了Controller(可能是基于Struts的Action),Service,DAO,以及...
以上内容只是对BS SSH框架的初步介绍,实际学习中还需要结合具体的代码实例和项目实践,才能更好地理解和掌握这些技术。在"BS SSH框架详解包括代码有解释"的压缩包文件中,应该包含有详细的教学文档、源码示例等资源...
- **Spring**:Spring框架的核心功能包括依赖注入(DI)和面向切面编程(AOP),它还能整合其他框架,如Struts,实现企业级应用的完整解决方案。 - **Hibernate**:Hibernate是Java领域中的ORM(Object-...
在本教程中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)中配置一个基于Struts2(S),Hibernate(H)和Spring(S)的SSH整合项目。这是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。在...