《SSH框架》---spring

简介: 《SSH框架》---spring

一、简介:


spring框架,是进行对象管理,对象关联,解耦的一个中间层框架。SSH(Struts+Spring+hibernate)三大Spring在中间就起着一个承上启下的作用。


  Spring是一个轻量级的IOC和AOP容器框架:


  1、轻量级:程序实现不是很复杂,代码不是很多,占用资源不是很多,没有侵入性;


  2、IOC(Inversion ofControl 控制反转):对象创建责任的反转(重点,核心);


  3、Aop(AspectOriented Programming):一种面向横切面编程的思想方式,可以进行功能性扩展,看前边的一篇转载的博客:面向横切面(AOP)编程。


  4、容器:可以容纳对象,并且可以控制对象的生命周期;


  (因为这些概念,在这次的ssh中没有很深的体会,所以就不细致讲解了)


二、配置过程:

   

1、引入Sprign jar包:


20170409145728191.png


Spring3.2 开发最基本jar包


spring-beans-3.2.0.RELEASE.jar


spring-context-3.2.0.RELEASE.jar


spring-core-3.2.0.RELEASE.jar


spring-expression-3.2.0.RELEASE.jar


com.springsource.org.apache.commons.logging-1.1.1.jar


com.springsource.org.apache.log4j-1.2.15.jar


AOP开发


spring-aop-3.2.0.RELEASE.jar


spring-aspects-3.2.0.RELEASE.jar


com.springsource.org.aopalliance-1.0.0.jar


com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar


Spring Jdbc开发


spring-jdbc-3.2.0.RELEASE.jar


spring-tx-3.2.0.RELEASE.jar


Spring事务管理


spring-tx-3.2.0.RELEASE.jar


Spring整合其他ORM框架


spring-orm-3.2.0.RELEASE.jar


Spring在web中使用


spring-web-3.2.0.RELEASE.jar


Spring整合Junit测试


spring-test-3.2.0.RELEASE.jar


2、编写核心配置文件:

* 引入applicationContext.xml(框架的核心配置文件)到SRC中:



20170409145759207.png


*Web.xml---配置核心监听器:  

<!-- 配置Spring的核心监听器 -->
 <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
 </context-param>



* 引入log4j.properties(控制log4j的日志输出基本,输出目的地以及输出格式)

3、在Spring对象中声明和初始化对象:

  ***********************以后台商品管理为例*******************************

 <!-- 后台商品管理的Action -->
<beanid="adminProductAction"class="cn.itcast.shop.product.adminaction.AdminProductAction"scope="prototype">
<propertyname="productService" ref="productService"/>
</bean>
   <!-- 后台商品管理的Service -->
     <beanid="productService"class="cn.itcast.shop.product.service.ProductService">
<propertyname="productDao" ref="productDao"/>
</bean>
    <!-- 后台商品管理的Dao -->
    <beanid="productDao"class="cn.itcast.shop.product.dao.ProductDao">
<propertyname="sessionFactory" ref="sessionFactory"/>
</bean> 


分析:


1、框架创建对象的方式:


  框架默认创建对象是单例的:scope="singleton"


  当然action我们想要多例创建,需要设置:scope="prototype"


2、工厂BeanFactory,如果使用BeanFactory来加载Spring配置文件,那么是在调用getBean时,框架调用对象的默认构造方法来创建对象。BeanFactory功能是对bean对象的生命周期进行管理的。(创建,初始化,销毁)。


3、ApplicationContext(推荐,也是框架默认的)(百度到的,我也不是很理解)


   对象来加载Spring配置文件,会在加载时解析配置文件,创建对象,而不是在getBean时创建。其实,ApplicationContext接口继承了BeanFactory,所以具备BeanFactory所有功能,同时增加扩展的功能,例如加载资源配置文件,国际化支持等!


三、最后



单看spring,并没感觉有多么吸引人,但是结合到其他的框架,它的优势就显示出来了。在上一篇博客中,我们讲到了springStruts结合,既然spring起到承上启下的作用,那么它必定还会和hibernate进行结合,请关注下一篇博客《SSH框架》--Hibernate。


相关文章
|
9天前
|
Java 数据安全/隐私保护 Spring
Java 中 Spring Boot 框架下的 Email 开发
Java 中 Spring Boot 框架下的 Email 开发
258 2
|
9天前
|
缓存 前端开发 Java
【框架】Spring 框架重点解析
【框架】Spring 框架重点解析
25 0
|
9天前
|
XML Java 数据格式
Spring框架入门:IoC与DI
【5月更文挑战第15天】本文介绍了Spring框架的核心特性——IoC(控制反转)和DI(依赖注入)。IoC通过将对象的创建和依赖关系管理交给容器,实现解耦。DI作为IoC的实现方式,允许外部注入依赖对象。文章讨论了过度依赖容器、配置复杂度等常见问题,并提出通过合理划分配置、使用注解简化管理等解决策略。同时,提醒开发者注意过度依赖注入和循环依赖,建议适度使用构造器注入和避免循环引用。通过代码示例展示了注解实现DI和配置类的使用。掌握IoC和DI能提升应用的灵活性和可维护性,实践中的反思和优化至关重要。
27 4
|
9天前
|
安全 Java Spring
Spring框架中的单例Bean是线程安全的吗?
Spring框架中的单例Bean是线程安全的吗?
13 1
|
9天前
|
安全 Java 开发者
如何在Spring框架中实现横切关注点的集中管理和重用?
【4月更文挑战第30天】如何在Spring框架中实现横切关注点的集中管理和重用?
20 0
|
9天前
|
前端开发 Java 开发者
【JavaEE】面向切面编程AOP是什么-Spring AOP框架的基本使用
【JavaEE】面向切面编程AOP是什么-Spring AOP框架的基本使用
17 0
|
9天前
|
JSON 前端开发 Java
【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解(下)
【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解
9 0
|
9天前
|
JSON 前端开发 Java
【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解(上)
【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解
10 0
|
9天前
|
XML Java 应用服务中间件
【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识
【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识
12 0
|
9天前
|
XML Java 数据库连接
Spring框架与Spring Boot的区别和联系
Spring框架与Spring Boot的区别和联系
32 0