IT袋

当前位置:主页 > 经验教程 > 建站编程 >

spring的ioc和aop是什么

spring的ioc和aop是什么 Spring的IOC和AOP解释

时间:2024-01-24 21:00:37 来源:IT袋 作者:马勇
导读:spring的ioc和aop是什么,今天为网友们详解spring的ioc和aop是什么的相关话题,下面来一起了解一下吧。 Spirng 的 IOC 和 AOP 几乎是面试官必问的一个问题,但是很多只是会从 Spring 中拿取对象,关于

spring的ioc和aop是什么

今天为网友们详解spring的ioc和aop是什么的相关话题,下面来一起了解一下吧。

Spirng 的 IOC 和 AOP 几乎是面试官必问的一个问题,但是很多只是会从 Spring 中拿取对象,关于 Spring 的核心两个部分却不能够完整地去介绍,本篇文章将用图文的结合方式,全方位去分析 IOC 和 AOP。

spring的ioc和aop是什么

题目

Spring 的 IOC 和 AOP

推荐解析

IOC 是什么?

IoC(Inversion of Control) 控制反转,是一种常见的设计思想,主要就是将手动创建对象的控制权,交给 Spring 框架来管理。

为什么需要存在一个容器?

解耦,将对象之间的相互依赖的关系交给 IOC 容器管理,并让容器完成对象注入,开发者不需要知道一个 Service 依赖的其他类,只需要从容器中拿取即可。

Spring Bean

Bean:被 IOC 容器所管理的对象俗称 Bean。

Bean 可以通过 XML、注解、配置类进行定义。

一般采用注解,如下

  • @Component:通用注解
  • @Repository:持久层 DAO 层
  • @Service:服务层 Service
  • @Controller:Spring MVC 控制层

怎么注入 Bean?

通常采用注解

  • @AutoWired 按类型装配,结合 @Qualifier 可以按名称装配。
  • @Resource 按名称装配
  • @Inject 按类型进行装配

Bean 的作用域

  • Singleton:Spring 中的 Bean 默认都是单例的,是对单例设计模式的应用,有线程安全问题。
  • Prototype:每次获取都会创建一个新的 Bean 实例。没有线程安全问题。
  • Request:(仅 Web 应用可用): 每一次 HTTP 请求都会产生一个新的 Bean(请求 Bean),该 Bean 仅在当前 HTTP request 内有效。
  • Session:(仅 Web 应用可用) : 每一次来自新 session 的 HTTP 请求都会产生一个新的 Bean(会话 Bean),该 Bean 仅在当前 HTTP session 内有效。
  • Application:(仅 Web 应用可用):每个 Web 应用在启动时创建一个 Bean(应用 Bean),该 Bean 仅在当前应用启动时间内有效。
  • Websocket:(仅 Web 应用可用):每一次 WebSocket 会话产生一个新的 Bean。

Bean 的生命周期

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

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

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

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

相关阅读

  • 分布式架构下 Session共享有什么方案

    分布式架构下 Session共享有什么方案

    一篇关于分布式架构下的话题,接下来一起来看看吧。 采用无状态服务,抛弃session 存入cookie(有安全风险) 服务器之间进行 Session 同步,这样可以保证每个服务器上都有全部的 Session 信息,

  • Redis的数据过期策略是什么

    Redis的数据过期策略是什么

    本文为您带来的是Redis的数据过期策略是什么IT技巧方面的经验,接下来IT袋网小编为大家介绍。 Redis使用数据过期策略来自动删除已经过期的数据,以释放内存空间并确保数据的新鲜性。 Red

  • 什么是虚拟线程? 虚拟线程的概念与解析

    什么是虚拟线程? 虚拟线程的概念与解析

    关于这个什么是虚拟线程的相关话题,接下来小编为网友介绍。 与平台线程一样,虚拟线程也是 java.lang.Thread 的一个实例对象。但是,虚拟线程并不依赖于特定的操作系统线程。 虚拟线程底层

  • DNS协议在哪一层 dns服务器工作在哪一层

    DNS协议在哪一层 dns服务器工作在哪一层

    dns服务器工作在哪一层()。 A.传输层 B.网络层 C.数据链路层 D.应用层 正确答案 : D.应用层 此题解析: DNS协议均位于OSI或TCP/IP参考模型的应用层。 DNS域名系统主要负责记录互联网中主机名和该