【SSH】之Spring

接着上篇博客,这篇博客我们来介绍SSH之最后一个——Spring。在SSH中,Struts是一个前端的框架,Hibernate是一个负责和数据库打交道的框架,那么Spring呢?Spring是管理Struts和Hibernate的一个框架。那么究竟是怎么管理的呢?

一般情况下,Struts要调用Service层的方法,如果不用Spring的话就要new一个对象,才能调用这个方法。而如果用Spring的话就可以要new的对象作为一个Struts Action的属性,由Spring去实例化,就是实例化的过程都交给Spring去处理,这样我们就省去了一个一个new的过程,直接交给Spring处理,我们调用方法的时候直接用就可以了。同样Spring管理Hibernate的原理也是一样,Spring的IOC容器会把action需要的资源注入,管理Struts和Hibernate,Hibernate的session的创建和事务管理都交给Spring.

今天这篇博客呢还是以介绍Spring为主,所以至于Spring是怎么充当容器管理的角色,我们下篇博客SSH整合会具体说明,在这里我们简单提一下,是为了让我们对Spring有一个宏观的认识,大致知道Spring在SSH中是一个什么样的位置,起到了一个什么样的作用就可以了。

好了下面进入正题,介绍一下如何配置Spring。

我们还是按照这样一个步骤:jar包和配置文件applicationContext.xml。首先,看一下配置Spring需要哪些jar包。

下面详细说一下各个jar包的作用:

1、AOP所依赖的jar包:aspectjweaver.jar;aspectjrt.jar

2、AOP是用什么原理实现的呢?动态代理,其所依赖的jar包:cglib-nodep-2.1_3.jar

3、还有日志:commons-logging.jar

4、最后还有核心包:spring.jar

下面说一下配置文件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"
	xmlns:tx="http://www.springframework.org/schema/tx"
	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
				http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

	//自动扫描与装配bean
	<context:component-scan base-package="cn.itcast.oa"></context:component-scan>

	//导入外部的properties文件
	<context:property-placeholder location="classpath:jdbc.properties"/>

	//配置SessionFactory
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		//指定hibernate的配置文件位置
		<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
		//配置c3p0数据库连接池
		<property name="dataSource">
			<bean class="com.mchange.v2.c3p0.ComboPooledDataSource">
				//数据连接信息
				<property name="jdbcUrl" value="${jdbcUrl}"></property>
				<property name="driverClass" value="${driverClass}"></property>
				<property name="user" value="${user}"></property>
				<property name="password" value="${password}"></property>
				//其他配置
				//初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3
				<property name="initialPoolSize" value="3"></property>
				//连接池中保留的最小连接数。Default: 3
				<property name="minPoolSize" value="3"></property>
				//连接池中保留的最大连接数。Default: 15
				<property name="maxPoolSize" value="5"></property>
				//当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3
				<property name="acquireIncrement" value="3"></property>
				//控制数据源内加载的PreparedStatements数量。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0
				<property name="maxStatements" value="8"></property>
				//maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0
				<property name="maxStatementsPerConnection" value="5"></property>
				//最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
				<property name="maxIdleTime" value="1800"></property>
			</bean>
		</property>
	</bean>

	//配置声明式事务管理(采用注解的方式)
	<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<tx:annotation-driven transaction-manager="txManager"/>

</beans>

因为有些配置文件里面的信息是可以直接拿过来的用的,所以我们弄明白这些配置文件的含义,到时候用的时候直接拿过来就可以了。前三篇文件我们将SSH的框架下的三个框架分别进行了说明,下篇博客我们将会讲解SSH的整合,敬请期待吧!

时间: 2024-10-22 12:48:42

【SSH】之Spring的相关文章

SSH(Struts2+Spring+Hibernate)框架搭建流程&lt;注解的方式创建Bean&gt;

此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblogs.com/wkrbky/p/5912810.html 一.Hibernate(数据层)的搭建: 实现流程 二.Spring(注入实例)的使用: 实现流程 三.Struts2(MVC)的搭建: 实现流程 这里注意一点问题: Struts2与Hibernate在一起搭建,antlr包,有冲突.MyE

玩转SSH之Spring(一)---关于Srping框架中使用@query注解实现复杂查询

在Spring框架中,关于从数据表获取数据有不同的方法,当数据查询比较简单时,可以通过继承JpaRepository<T, L> 使用findBy***方法,通过分析方法名来实现查询,T表示要查询的数据表所对应的实体,L表示该实体主键的类型,比如Long.关于findBy方法如何通过分析方法名来实现查询,网上资料很多,不做赘述. 如果查询的数据比较复杂,查询条件比较复杂时,可以考虑使用JPA的@query方法来实现查询.关于使用方法,下面做简单介绍: 1.首先Dao层需继承Repository

Java SSH (strusts2+spring+hibernate )完结项目源码 mysql

Java SSH (strusts2+spring+hibernate ) 完结项目源码 mysql 用来学习 毕业设计都可 继续二次开发也行 提供文档 数据结构 下载地址: 联系QQ 313596790

SSH(五)spring整合hibernate

一.创建hibernate实体映射文件. 在实体所在包创建映射文件product.hbm.xml,引入hibernate的映射约束.(该约束位于hibernate3.jar里面hibernate-mapping-3.0.dtd,可cope使用)如下图: product.hbm.xml: <?xml version="1.0" encoding="UTF-8"?> <!-- hibernate约束头信息:hibernate3.jar→org,hibe

ssh(struts,spring,hibernate)开发的初步集成01--依赖

一.概念 SSH 通常指的是 Struts2 做前端控制器,spring 管理各层的组件,hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层. 二.构建流程 创建maven工程...在pom.xml文件中配置需要的依赖 <properties> <java-version>1.8</java-version> <junit-version>4.8.2</ju

SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别

SSH 和 SSM 的定义 本人经历过两种技术架构,分别是常说的 SSH 和 SSM ,SSH 在本科的时候老师就教过.SSM 则是去公司后用的比较多.现在我想将这两大阵营的技术做一下对比.由于本人能力有限,涉及技术较多,我只从具体的应用方面做一些对比. SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层. 共同之处是都使

初学Java ssh之Spring 第一篇

之前虽然毕业前实习的工作是使用的C# .NET语言,但是,毕业后还是果断应聘Java.虽然自己对Java的理解不如C#深入,只是对基础知识比较熟悉,但还是义无返顾了··· 虽然应聘经历比较坎坷,但最终还是成功入职了. 刚入职,再加上经验不足,所以最近任务比较少,这样就有大把时间自学了,得抓紧时间积累知识啊,废话少说,步入正题. 对于java,自己的掌握仅限于基础知识,对于框架什么的几乎没有使用过,只大概知道ssh是企业常用的开发框架,struts+hibernate+spring是一套很不错的框

SSH(struts2+spring+hibernate)三大框架整合

SSH框架整合理论: 在SSH框架的JAVAweb项目的开发过程中,WEB层通常使用的是Struts2+jsp,service层使用的是javaBean,DAO层使用的是hibernate,而spring的使用覆盖三层. 使用了spring框架之后,我们可以把对象交给spring来管理.在WEB层中,所有action对象的创建和管理都可以交给spring来完成,这样Struts2就不用自己来new一个action,这一切都可以交给spring,直接向spring来要action对象. 在DAO层

myeclipse搭建SSH(Struts+spring+hibernate)由maven管理

一.由myeclipse新建Javaweb项目,先添加spring支持,添加完后再添加Struts支持. 注:在添加Struts支持之前先在src/main/java下新建一个包,然后生成一个HibernateSessionFactory.java文件 二.配置一下配置文件 1.applicationContext.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans 3 xmlns="

SSH之spring

从第一次听说spring到现在应该有一年多的时间了,对于这个陌生有熟悉的框架只能说又爱又恨,爱是因为它的强大恨是因为太强大,强大到我现在都说不明白spring到底是什么,今天就从皮毛开始说起吧: 一.描述 一句话总结那么:spring是以控制反转和面向切面为核心的轻量级的容器 框架. 不过这句话信息量有些大,至于详细的解释我觉得我没有百度解释的明白,不过可以说一句的是:spring是为了解决企业应用程序开发复杂性而创建的,它的优势之一就是它是分层架构,分层架构允许选择使用任一组件,且它的目的不是