JavaEE学习笔记26-Spring框架

1.什么是Spring

        Spring 是众多开源java项目中的一员,基于分层的javaEE应用一站式轻量级开源框架,主要核心是 IOC(控制反转/依赖注入)与 AOP(面向切面)两大技术,实现项目在开发过程中的轻松解耦,提高项 目的开发效率。

                                                                 Spring知识框架

 2.IOC和DI           

(1)IOC(控制反转)

              将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周期的管理,而是在需要时由Spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转。

:IOC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。

(2)DI(Dependency Injection  依赖注入

        依赖:应用程序依赖IOC容器,在程序运行的时候,应用程序需要IoC容器来提供对象需要的外部资源;

注入:IOC容器注入应用程序的某个对象,注入了其所需要的的外部资源(对象、资源和数据等);

也可以看作,DI(依赖注入)其实就是IOC的另外一种说法,DI主要有两种注入方式,及Setter注入和构造器注入。

注意:IOC是一种思想,而DI是实现IOC的主要技术途径。

 3. Spring IOC 容器 Bean 对象实例化

(1)构造器实例化

        注:通过默认构造器创建 空构造方法必须存在 否则创建失败

-1.Spring环境搭建

 -2.调整项目环境

-3.创建java模板类(Student类) 

-4.配置文件spring.xml(通过id来直接管理Student的实例对象

(resources文件夹下新建一个配置文件)

-5.获取实例化对象(通过spring.xml设置的id获取对象)

(test文件下写测试程序文件)

 总结来构造实例化流程就是,创建java模板类创建spring.xml配置文件创建测试文件通过id获取bean得到一个对象

(2)静态工厂实例化和实例化工厂实例化 (了解)

        Spring使用静态工厂方法来创建Bean实例时,Spring将先解析配置文件,并根据配 置文件指定的信息,通过反射调用静态工厂类的静态工厂方法,并将该静态工厂方法的返回值作为 Bean实例,在这个过程中,Spring不再负责创建Bean实例,Bean实例是由用户提供的静态工厂方法提供的。

4.依赖注入方式

(4.1)Spring IOC 手动装配(注入)

        Spring 支持的注入方式共有四种:set 注入、构造器注入、静态工厂注入、实例化工厂注入,其中的set注入和构造器注入尤为重要。

(4.1.1)set方法注入

        注:使用set方法注入需注意:属性字段需要提供set方法。

        -4.1.1.1业务对象 JavaBean

                java模板类属性私有话,提供set方法

        -4.1.1.2配置文件的bean标签设置property标签      

:set方法注入中 还有常用对象和基本类型、集合类型和属性对象等类型,这里的列子是JavaBean类型

(4.2)Spring IOC 自动装配(注入)

        对于 bean 的注入,除了使用 xml 配置以外,可以使用注解配置。注解的配置,可以简化配置文件, 提高开发的速度,使程序看上去更简洁。对于注解的解释,Spring对于注解有专门的解释器,对定义的 注解进行解析,实现对应bean对象的注入。通过反射技术实现。

自动装配(注入)有两种:@Resource注解名称查找对应的bean对象 (属性字段的名称与bean标签的id属性值相等)、@Autowired注解(默认通过类型(Class类型)查找bean对象 与属性字段的名称无关)

(4.2.1)修改配置文件开启自动化注入 

 (4.2.2)给注入的bean对象添加注解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值