《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。


相关文章
|
19天前
|
XML Java 程序员
Spring6框架中依赖注入的多种方式(推荐构造器注入)
依赖注入(DI)是一种过程,对象通过构造函数参数、工厂方法的参数或在对象实例构建后设置的属性来定义它们的依赖关系(即与其一起工作的其他对象)。
34 3
|
30天前
|
XML Java 数据格式
Spring框架入门:IoC与DI
【5月更文挑战第15天】本文介绍了Spring框架的核心特性——IoC(控制反转)和DI(依赖注入)。IoC通过将对象的创建和依赖关系管理交给容器,实现解耦。DI作为IoC的实现方式,允许外部注入依赖对象。文章讨论了过度依赖容器、配置复杂度等常见问题,并提出通过合理划分配置、使用注解简化管理等解决策略。同时,提醒开发者注意过度依赖注入和循环依赖,建议适度使用构造器注入和避免循环引用。通过代码示例展示了注解实现DI和配置类的使用。掌握IoC和DI能提升应用的灵活性和可维护性,实践中的反思和优化至关重要。
38 4
|
30天前
|
安全 Java Spring
Spring框架中的单例Bean是线程安全的吗?
Spring框架中的单例Bean是线程安全的吗?
23 1
|
3天前
|
Java 数据处理 数据库
Java一分钟之-Spring Batch:批量处理框架
【6月更文挑战第11天】Spring Batch是Spring家族的批处理框架,简化了批量处理任务的开发。它包含Job、Step、ItemReader、ItemProcessor和ItemWriter等核心组件,用于构建数据处理流程。本文讨论了批量处理中的常见问题,如内存溢出、事务管理和异常处理,并提供了相应的解决策略。通过添加相关依赖、定义Job和Steps,以及启动Job的示例代码,帮助开发者开始使用Spring Batch。了解其核心概念和最佳实践,能提升批量处理系统的效率和可靠性。
23 4
|
8天前
|
XML 缓存 Java
大厂面试攻略:Spring框架核心要点精讲
Java SPI (Service Provider Interface) 是一种服务发现机制,允许在运行时动态加载和发现服务提供者。在数据库驱动加载中,SPI使得数据库驱动能够自动识别和注册,而无需显式加载。 Spring 是一个广泛应用的轻量级框架,核心功能包括依赖注入(DI)和面向切面编程(AOP)。不使用Spring时,开发人员需要手动管理对象的创建和依赖关系,使用Servlet等基础组件完成Web开发,以及手动处理JDBC操作。Spring通过管理Bean的生命周期和依赖关系,简化了企业级应用的开发,降低了代码的侵入性。
25 1
大厂面试攻略:Spring框架核心要点精讲
|
16天前
|
Java 程序员 Maven
基础框架 Spring
基础框架 Spring
|
17天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的框架仓库系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的框架仓库系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
18天前
|
Java 数据库连接 网络安全
SSH 组合框架模式小知识分享
【5月更文挑战第4天】SSH 组合框架模式小知识分享
18 0
|
20天前
|
XML Java 测试技术
Spring框架
Spring框架
27 1
|
21天前
|
JavaScript 前端开发
1天搞定SpringBoot+Vue全栈开发 (5)Vue框架快速上手
1天搞定SpringBoot+Vue全栈开发 (5)Vue框架快速上手