Spring思想(IoC、DI、工厂)

概述

Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。
Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。
Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。
Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。

使用 Spring 框架的好处

下面列出的是使用 Spring 框架主要的好处:

  • Spring 可以使开发人员使用 POJOs 开发企业级的应用程序。只使用 POJOs 的好处是你不需要一个 EJB 容器产品,比如一个应用程序服务器,但是你可以选择使用一个健壮的 servlet 容器,比如 Tomcat 或者一些商业产品。
  • Spring 在一个单元模式中是有组织的。即使包和类的数量非常大,你只要担心你需要的,而其它的就可以忽略了。
  • Spring 不会让你白费力气做重复工作,它真正的利用了一些现有的技术,像ORM 框架、日志框架、JEE、Quartz 和 JDK 计时器,其他视图技术。
  • 测试一个用 Spring 编写的应用程序很容易,因为环境相关的代码被移动到这个框架中。此外,通过使用 JavaBean-style POJOs,它在使用依赖注入注入测试数据时变得更容易。
  • Spring 的 web 框架是一个设计良好的 web MVC 框架,它为比如 Structs 或者其他工程上的或者不怎么受欢迎的 web 框架提供了一个很好的供替代的选择。MVC模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。
  • 模型(Model)封装了应用程序数据,通常它们将由POJO类组成。
  • 视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。
  • 控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。
  • Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低。
  • 轻量级的 IOC 容器往往是轻量级的,例如,特别是当与 EJB 容器相比的时候。这有利于在内存和 CPU 资源有限的计算机上开发和部署应用程序。
  • Spring提供了一致的事务管理接口,可向下扩展到(使用一个单一的数据库,例如)本地事务并扩展到全局事务(例如,使用 JTA)。

Spring中IOC

Inverse of control 控制反转
== 所谓 IOC ,就是由 Spring IOC 容器来负责对象的生命周期和对象之间的关系 ==
将我们创建对象的方式反转了。
以前对象的创建由我们开发人员自己维护,包括依赖关系也是我们自己注入的 使用new的方式进行的
使用Spring之后,对象的创建以及依赖关系可以由Spring完成创建以及注入
反转控制:就是反转了对象创建的方式,从我们自己创建反转给了程序(Spring)

DI:Dependency Injection 依赖注入
实现IOC实现需要DI做支持
注入方式:
-	Set 方法注入
-	构造方法注入
-	字段注入
注入的类型:
- 	值类型注入: 8大基本数据类型
- 	应用类型注入:将依赖对象注入

Spring中工厂(容器)

工厂factory
设计模式,提供的方法一般是静态的,
帮我们生产出对象的。
User user = XXXFactory.createUser();

了解ApplicationContext和BeanFactory

在这里插入图片描述

BeanFactory接口:
Spring原始接口,针对原始接口的实现类功能较为单一

BeanFactory接口实现类 的容器,特点:每次在获取对象的时候才会创建对象

ApplicationContext接口:
容器在创建的时候,容器里面配置的所有对象会被创建,并且提供更多的功能。
有2个实现类:
	ClassPathXmlApplicationContext
		从类路径加载配置文件

new ClassPathXmlApplicationContext( “applicationContext.xml” );
FileSystemXmlApplicationContext
从硬盘绝对路径中加载配置文件
New FileSystemXmlApplicationContext(“d:/xxx/yyy/zzz”)
总结:在web开发中,使用ApplicationContext,在资源亏匮乏的环境下可以使用BeanFactory。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值