栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring5

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring5

Ioc:控制反转,将创建对象和对象之间的调用过程交给spring进行管理

Aop:面向切面,不修改代码,对功能进行增强

IOC 底层原理

(1)xml解析,工厂模式,反射

        通过xml解析,获取类路径,再通过反射加载类,创建对象 

 接口

1.ioc思想是基于ioc容器,ioc容器底层是对象工厂

2.Spring提供ioc容器实现方式:

①BeanFactory

Ioc容器基本实现,spring内部接口,加载配置文件时,不会创建对象,获取对象使用时,才会创建对象。

②ApplicationContext

BeanFactory的子接口,提供更多强大的功能,一般开发用,加载配置文件时,会创建对象。

ClassPathXmlApplicationContext:src路径下的配置文件

FileSystemXmlApplicationContext:系统盘的路径下的配置文件

IOC操作Bean管理

内容:

(1)Spring创建对象

(2)Spring注入属性

方式:

一、基于xml配置文件实现
  • 创建对象

        ①使用Bean标签,标签添加对应属性

        ②id属性:唯一标识 (类似名字)class属性:类全路径

        ③创建对象时,默认执行无参构造

  • 注入属性

        ①DI:依赖注入,即注入属性

        a. 使用set方法

                α.properties标签

                                name类属性名,(.xxx 需要有get方法,可实现级联赋值)

                                value向属性注入的参数

                                ref向属性注入外部bean(可实现级联赋值)

                                向属性注入内部bean                               

                β.使用p名称空间注入

                        添加p名称在配置文件中

                        bean标签 p:xxx (属性名)= ""(参数)

        b.使用有参构造 

                constructor-arg标签  name类属性名(index属性名下标),value向属性注入的参数

        c.注入数组,list,map,set类型(①集合中设置对象 ②提取集合提取util并注入)                  

*当设值为null

*当设值为带特殊符号

spring有两种bean:

  1. 普通bean:在配置文件中定义类型与返回类型一致
  2. 工厂bean(FatoryBean):在配置文件中定义类型与返回类型可以不一致

bean的作用域:spring中bean默认时单实例对象

        在配置文件可设置scope:

                singleton(默认值,单例):加载配置文件就会创建单实例对象

                prototype(多例):获取对象使用getBean时,才会创建多实例对象

bean生命周期

(生命周期:从对象创建到对象销毁的过程)

 若有bean后置处理器:加上红色两步

(1)通过构造器创建bean实例(无参构造)

(2)为bean的属性设置值和对其他bean引用(调用set方法)

(3)把bean实例传递到bean后置处理器的方法postProcessBeforeInitialization

(4)调用bean的初始化方法(需要进行配置初始化的方法)

(5)把bean实例传递到bean后置处理器的方法postProcessAfterInitialization

(6)bean可以使用了(对象获取到了)

(7)当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法)

xml自动装配autowire

(1)根据属性进行自动装配byName

(2)根据类型进行自动装配byType

外部属性注入

 引入context名称空间,context:property-placeholder  location="class:"加载properties文件

value="${(properties文件的key)}"

二、基于注解方式实现

 注解:@名称(属性名=属性值),作用于类,方法,属性,简化xml配置

创建对象

@Component

@Service

@Controller

@Repository

四个功能都一样,都是创建bean实例

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号