Spring框架,是进行对象管理,对象关联,解耦的一个中间层框架。SSH(Struts+Spring+Hibernate)三大Spring在中间就起着一个承上启下的作用。好,首先我们先来看一下Spring框架的一些知识点,通过下边这张图来总括一下:

好,这篇博客咱们先来对Spring框架进行一个初步的了解。

一,框架介绍:

1,先看一下帮助文档的这张图,里边主要包括了Spring自身的功能,还有可以和其框架结合的一些框架,通过这张图可以看出,Spring框架和其他框架的集成能力是非常强的。

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

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

b,IOC(Inversion of Control 控制反转):对象创建责任的反转(重点,核心);

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

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

二,看一下使用步骤吧!(框架用多了,感觉步骤都大同小异)

1,还是拷贝jar包:

2,拷贝框架的核心配置文件,存放在src目录下:

3,编写框架的核心配置文件,将声明对象都交给Spring框架来创建,以及初始化,例如service层的类,action层类,dao层类等等,都可以交给Spring进行管理,看一个例子:

  1. <span style="font-size:18px;">      <!-- 声明Action对象 -->
  2. <bean id="loginAction" class="com.ljh.struts2.action.LoginAction" scope="prototype"></bean> </span>

分析:a,框架创建对象的方式:

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

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

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

c,ApplicationContext(推荐,也是框架默认的)

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

4,如何测试,这里我们可以使用Junit(java的单元测试进行测试)(我们现在是单独使用Spring为了是学习,后边会集成多个框架的)

a,先看一下Junit单元测试的使用方法:Junit4详解

b,利用beanFactory加载配置文件:

  1. <span style="font-size:18px;">      //加载配置文件,创建Spring的应用环境
  2. String path = "applicationContext.xml";
  3. Resource resource = new ClassPathResource(path);    //推荐
  4. //Resource resource = new FileSystemResource("src/applicationContext.xml");
  5. //Resource resource = new ServletContextResource(servletContext, path); //如果文件存放到WEB-INF目录下
  6. BeanFactory factory = new XmlBeanFactory(resource);
  7. //从Spring环境中获取对象
  8. Object obj = factory.getBean("loginAction");
  9. LoginAction action = (LoginAction)obj ; </span>

c,  利用ApplicationContext加载配置文件:

  1. <span style="font-size:18px;">      ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
  2. Object obj = ac.getBean("loginAction");
  3. </span>

这就是Spring的简单使用步骤,当然还有配置文件的如何编写,Aop的使用等,后边会介绍到。

三,Sping框架的优缺点:

优点:

  • 轻量级的容器框架,没有侵入性
  • IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。
  • 易于本地测试(Junit单元测试,不用部署服务器)
  • AOP可以更加容易的进行功能扩展,遵循OCP开发原则。
  • Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。
  • Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。
  • Spring的声明式事务的方便使用。

缺点:

自我感觉是所有框架共有的,就是开发对设计要求较高,集成测试麻烦,对框架有一定的依赖性。

总而言之,Spring框架功能是非常强大的,单独使用可能感觉不是很深,和其他的框架结合使用,就会张显她的魅力了。

最新文章

  1. String源码中的&quot;avoid getfield opcode&quot;
  2. Vue 2.0 + Vue Router + Vuex
  3. java中equals和“==”补充
  4. 3ds max的动画输出
  5. Tomcat安装后启动一闪而过
  6. Knockout.Js官网学习(监控属性Observables)
  7. navigationbar的一些设置记录
  8. Android 开机动画启动过程详解
  9. 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
  10. Spring BeanFactory实例化Bean的详细过程
  11. Node.js~ioredis处理耗时请求时连接数瀑增
  12. springboot命令启动
  13. DOM&amp;JavaScript示例&amp;练习
  14. velocity 时间显示 时间格式化 时间转化
  15. 8天入门docker系列 —— 第四天 使用aspnetcore小案例熟悉端口映射和挂载目录
  16. asp.net core 系列 21 EF现有数据库进行反向工程
  17. 剑指Offer 65. 矩阵中的路径 (回溯)
  18. C#-运算符(四)
  19. c#实战开发:用.net core开发一个简单的Web以太坊钱包 (六)
  20. github Bash教程

热门文章

  1. Google Chrome 35 Released – Install on RHEL/CentOS 6 and Fedora 20-15
  2. 关于清理 mac 其他文件的的方法
  3. centos安装pcntl扩展
  4. FishiGUI系统架构分析 和层次结构 二
  5. lower_bound() 与 upper_bound()
  6. php匿名函数和闭包函数及use关键字传参及Closure匿名函数类
  7. source sh运行脚本的差别
  8. Linux - vim安装 配置与使用
  9. Arcgis:坐标系统极其转换
  10. Android应用架构之MVP---&amp;gt;天气实例