当前位置: 首页 > news >正文

咕-spring注解--注入-监控-赋值

咕-spring注解--注入-监控-赋值

容器出口给你用

image

 

一 配置组件

image

 @Configuration配置注解可以干啥?? 什么作用? ---标记配置类,替代 XML 配置文件--- 容器入口

 用来标记一个类作为 Spring 容器的配置类,替代传统的 XML 配置文件,让你可以通过纯 Java 代码定义和管理 Bean。

加载配置类,初始化 Spring 容器

配置类本身也是 Bean:@Configuration 标注的类会被 Spring 实例化并纳入容器管理,可在其中使用 @Autowired@Value 等注解注入依赖。

支持配置类复用(@Import):当配置类太多时,可拆分后通过 @Import 组合,实现模块化配置。

懒加载与条件装配:可配合 @Lazy(懒加载 Bean)、@Conditional(条件化创建 Bean)等注解,灵活控制 Bean 的创建逻辑。

简单记:@Configuration = 用 Java 类写的 applicationContext.xml,是 Spring 容器的 “配置清单”。

image

 @Scope

image

 @Lazy

image

 

bean初始化,构造对象-- 生成容器 Context-

生成容器--使用对象(懒加载现构造)

容器关闭,就会调用bean的销毁方法---Bean数据清理

Bean 注入/注册

image

 

注意-- 先 工厂Bean(把Bean注册到容器里), 后Bean工厂(容器拿Bean)

通过手动创建的工厂Bean(实现FactoryBean接口)注册容器,class还是实例类.,想要实例的工厂Bean,要加&name

容器的getBean()  方法里会判断 name 是不是工厂引用 &,

image

 @ComponentScan默认扫描 也 可以自定义扫描(自定义条件注入)    @Import 可以自定义 条件导入

image

 

Bean的生命周期 可以监控---

1.配置注解@Bean参数 ------(原型模式)

2.组件实现 初始化和销毁化接口

3.组件使用@PostConstruct 和 @PreDestory

4.自定义类 实现 BeanPostProcessor接口-------所有bean都会走下这里

image

 

image

二 赋值组件--- 依赖注入

image

自动装备赋值

@Value 依赖 @PropertySource

image

image

 

三 织入组件

image

四 切面组件

image

 

image

 

image

 ApplicationContextAware = 给类开一个 “后门”,让它能直接拿到 Spring 容器的 “遥控器”,手动操作容器里的 Bean。

ApplicationContextAware 是 Spring 回调接口,不是注解,实现它的类会被容器注入 ApplicationContext 引用;

 

 Spring  容器获取Bean-------https://zhuanlan.zhihu.com/p/641366011?utm_id=0

 BeanFactory 为 IoC 容器,称 ApplicationContext 为应用上下文。但有时为了方便,也将 ApplicationContext 称为 Spring 容器。

通常不建议使用 BeanFactory,但 BeanFactory 仍然可以用于轻量级的应用程序,如移动设备或基于 applet 的应用程序,其中它的数据量和速度是显著。

---早期内存不够,用时才加载。

BeanFactory 在初始化容器时,并未实例化 Bean,直到第一次访问某个 Bean 时才实例目标 Bean。这样,我们就不能发现一些存在的 Spring 的配置问题。如果 Bean 的某一个属性没有注入,BeanFacotry 加载后,直至第一次使用调用 getBean 方法才会抛出异常。

而 ApplicationContext 则在初始化应用上下文时就实例化所有单实例的 Bean,相对应的,ApplicationContext 的初始化时间会比 BeanFactory 长一些。

 

 

你是否意识到,学习一项技术或一个实现方式,只要把握住它的根本,无论形式如何变化,都万变不离其宗。而这里 “宗” 就是 IoC 容器。

 

http://www.jsqmd.com/news/356214/

相关文章:

  • windows11系统 资源管理器卡死问题记录
  • 821. 跳台阶
  • 不用外包省成本!美业老板用 AI 工具做年货节海报,闭眼冲
  • 小程序毕设项目:基于springboot+小程序的航空机票预订系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 基于Springboot智慧公寓管理系统【附源码+文档】
  • win11 文件管理器卡死问题记录
  • Chrome浏览器原生Gemini AI 功能开启指南(2026年实测)
  • 基于51单片机的步进电机控制系统
  • 小程序毕设项目:基于springboot+小程序的医院挂号系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 小程序计算机毕设之基于SpringBoot的机票订票管理系统的设计与实现基于springboot+小程序的航空机票预订系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 基于单片机的多功能电子钟设计
  • 飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
  • 【毕业设计】基于springboot+小程序的医院挂号系统设计与实现(源码+文档+远程调试,全bao定制等)
  • 10327_基于SpringBoot的视频剪辑咨询网站
  • 小程序毕设项目推荐-基于springboot+小程序的城市公交查询系统设计与实现【附源码+文档,调试定制服务】
  • 小程序毕设选题推荐:基于springboot+小程序的城市公交查询系统设计与实现基于springboot+vue的微信小程序的城市公交查询系统的【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 计算机小程序毕设实战-基于springboot+小程序的城市公交查询系统设计与实现基于SpringBoot+微信小程序的公交信息在线查询系统管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
  • 合集-OICPC 做题记录
  • 【课程设计/毕业设计】基于springboot+小程序的城市公交查询系统设计与实现基于微信小程序的城市公交查询系统的设计与实现【附源码、数据库、万字文档】
  • 我终于靠飞算JavaAI,摆脱了“额度焦虑”
  • 合集-OICPC做题记录
  • 小程序毕设项目:基于springboot+小程序的城市公交查询系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 小程序计算机毕设之基于微信小程序的城市公交查询系统的设计与实现基于springboot+小程序的城市公交查询系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 【毕业设计】基于springboot+小程序的城市公交查询系统设计与实现(源码+文档+远程调试,全bao定制等)
  • 【计算机毕业设计案例】基于SpringBoot+微信小程序的公交信息在线查询系统管理系统基于springboot+小程序的城市公交查询系统设计与实现(程序+文档+讲解+定制)
  • Redis详解(十二)------ 缓存穿透、缓存击穿、缓存雪崩
  • 类型映射
  • [信息论与编码理论专题-36]:社会天然倾向于为“高权重者”提供最短路径,以实现整体效率最大化——这是制度演化的理性选择。这既是现代社会高效运转的密码,也是其潜在危机的根源。
  • [信息论与编码理论专题-35]:哈夫曼编码背后的社会学意义:权重越高,则离根节点越近,可达的路径越短,在系统中的地位越高,总体的资源消耗最小,系统的效率最高。