IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 初学Spring框架(二) -> 正文阅读

[Java知识库]初学Spring框架(二)

一、Spring IoC容器

IoC(Inverse of Control)控制反转,将对象的创建以及对象依赖关系反转给Spring容器,程序本身不进行维护。Spring通过IoC容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期。

Spring提供的2种不同类型的IoC容器,BeanFactory和ApplicationContext容器:

1、BeanFactory容器:由org.springframework.beans.factory.BeanFactory接口定义,采用懒加载,所以容器启动比较快;

2、ApplicationContext容器:继承了BeanFactory接口,增加了AOP、国际化、时间支持等,常用的两个实现类:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。

二、Spring DI

DI(Dependency Injection)依赖注入,spring容器在创建被调用者的实例时,会自动将调用者需要的对象实例注入给调用者,调用者通过spring容器获得被调用者实例。

依赖注入的两种主要实现方式:

1、构造函数注入

指IoC容器使用构造函数注入被依赖的实例,可以通过调用带参数的构造函数实现依赖注入,每个参数代表一个依赖。

2、setter注入(设值注入)

指IoC容器使用setter方法注入被依赖的实例,通过调用无参构造器或者无参static工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter的DI。

满足要求:

(1)必须提供一个默认的无参构造方法;

(2)必须为需要注入的属性提供对应的setter方法。

三、Spring注解

1、@Component:让Spring容器来管理对象,相当于在xml中配置了一个Bean;

2、@Controller:和@Component作用一样,作用于表现层;

3、@Service:和@Component作用一样,作用于业务层;

4、@Repository:和@Component作用一样,作用于持久层;

5、@Value:给属性注入基本数据,支持SpEL;

6、@Autowired:自动按照类型注入,使用注解注入属性时,set方法可以省略,该注解只能注入bean类型,当有多个相同类型时,将bean的名字作为要注入对象的属性名,也可以;

7、@Qualifier:与 @Autowired 注解配合使用,会将默认的按 Bean 类型装配修改为按 Bean 的实例名称装配,Bean 的实例名称由 @Qualifier 注解的参数指定。

8、@Resource:直接按照bean的id注入,只能注入bean类型;

9、@Scope:指定Bean的作用范围,取值为:singleton、prototype、request、session、golbalsession;

10、@PostConstruct:指定初始化方法;

11、@PreDestroy:指定销毁方法。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:28:34  更:2021-11-30 15:30:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:54:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码