学习笔记 01: 初识 Spring
Spring 简介:
Spring是由Rod Johnson组织和开发的一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,它以IoC(Inversoin of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB(Enterprise Java Beans,Java企业Bean)完成的工作.取代了EJB的臃肿,低效的开发模式!
Spring 框架优点:
Spring 具有简单,可测试和松耦合等特点,从这个角度出发,Spring可适用于服务器端/任何Java应用的开发.
- 侵入式设计
- 方便耦合,简化开发
- 支持AOP
- 支持声明式事务处理
- 方便程序的测试
- 方便集成各种优秀的框
- 降低Java EE API的使用难度
Spring 核心容器:
Spring框架的主要功能是通过其核心容器来实现.Spring框架提供了两种核心容器,分别是BeanFatory和ApplicatoinContext.
BeanFactory:
BeanFactory为基础类型的Ioc容器,简单的说就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的生命周期方法.
ApplicationContext:
ApplicationContext是BeanFactory的子接口,也称为应用上下文,不仅包含了BeanFactory的所有功能,还添加了对国际化,资源访问,事件传播等方面的支持.有两种创建ApplicatoinContext接口实例的方法.
1.通过ClassPathXmlApplicationContext创建 通过类路径classPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作.
2.通过FileSystemXmlApplicatoinContext创建 通过指定的文件系统路径(绝对路径)中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作.
依赖注入:
依赖注入的作用就是在使用Spring框架创建对象时,动态地将其所依赖的对象注入Bean组件中,其实现方式通常有两种,一种是属性setter方法注入,另一种是构造方法注入.
属性setter方法注入
指Spring容器使用setter方法注入被依赖的实例.通过调用无参的构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入.
构造方法注入
指Spring容器使用的构造方法注入被依赖的实例.基于构造方法的依赖注入通过带参数的构造方法来实现,每个参数代表着一个依赖.
Spring 简单示例程序
1.创建一个简单的Java bean
2.创建Spring的配置文件: applicationContext.xml
3.测试类
4.程序运行结果
控制反转的个人理解:
如果一个类A 的功能实现需要借助于类B,那么就称类B是类A的依赖,如果在类A的内部去实例化类B,那么两者之间会出现较高的耦合,一旦类B出现了问题,类A也需要进行改造,如果这样的情况较多,每个类之间都有很多依赖,那么就会出现牵一发而动全身的情况,,程序会极难维护,并且很容易出现问题。要解决这个问题,就要把A类对B类的控制权抽离出来,交给一
个第三方去做,把控制权反转给第三方,就称作控制反转(IOC Inversion Of Control)。控制反转是一种思想,是能够解决问题的一种可能的结
果,而依赖注入(Dependency Injection)就是其最典型的实现方法。由第三方(我们称作IOC容器)来控制依赖,把他通过构造函数、属性或者工厂模式等方法,注入到类A内,这样就极大程度的对类A和类B进行了解耦。
- Spring学习笔记01——Spring的基本应用
- Spring学习笔记01-自动装配-SpEL-生命周期-后置处理器(未完)
- (基于Spring3)Spring学习笔记(一):初识Spring
- Spring学习笔记01-项目结构 2020.04.13
- Spring Boot学习笔记-01-Spring Boot简介
- Spring 学习笔记01
- 【Spring】Spring学习笔记-01-入门级实例
- JavaWeb学习笔记-spring-01-概述(实例)
- spring data elasticsearch学习笔记_01业务实现+整合spring security
- 学习笔记(01):2019年分布式架构教程 SpringCloud+Docker基础入门到实战-微服务架构SpringCloud课程介绍...
- Spring学习笔记(一):初识IOC和DI
- cocos2d-x学习笔记01——初识
- Spring 学习笔记01
- SpringBoot学习笔记01
- 学习笔记(01):JavaEE框架-Spring注解驱动开发组件注册-@ComponentScan-自动扫描组件&指定扫描规则...
- Spring 学习笔记01
- spring4学习记录01-初识spring
- spring学习笔记01-spring入门
- 【Spring学习笔记】01 spring 入门
- Java框架学习笔记——初识Spring之简述