程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Spring源码分析(一)

发布于2021-06-12 14:57     阅读(773)     评论(0)     点赞(6)     收藏(3)


Spring核心注解

注解功能
@Bean容器中注册组件
@Primary同类组件如果有多个,标注主组件
@DependsOn组件之间声明依赖关系
@Lazy组件懒加载(最后使用的时候才创建)
@Scope声明组件的作用范围(SCOPE_PROTOTYPE,SCOPE_SINGLETON)
@Configuration声明这是一个配置类,替换以前
@Component@Controller、@Service、@Repository
@Indexed加速注解,所有标注了@Indexed的组件,直接会启动快速加载
@Order数字越小优先级越高,越先工作
@ComponentScan包扫描
@Conditional条件注入
@Import导入第三方jar包中的组件,或定制批量导入组件逻辑
@ImportResource导入以前的xml配置文件,让其生效
@Profile基于多环境激活
@PropertySource外部properties配置文件和JavaBean进行绑定;
@PropertySource@PropertySource组合注解
@Autowired自动装配
@Qualifier精确指定
@Value取值
@Lookup单例组件依赖非单例组件,非单例组件获取需要使用方法

注:@Indexed需要引入依赖:spring-context-indexer

Spring架构原理图

在这里插入图片描述

核心组件接口分析

  • 基础接口
    • Resource+ResourceLoader
    • BeanFactory
    • BeanDefinition
    • BeanDefinitionReader
    • BeanDefinitionRegistry
    • ApplicationContext
    • Aware
  • 生命周期-后置处理器
    • BeanFactoryPostProcessor
    • InitializingBean
    • BeanPostProcessor

核心组件接口分析-Resource+ResourceLoader

Resource

在这里插入图片描述

ResourceLoader

在这里插入图片描述
万物皆资源,都可以加载

核心组件接口分析-BeanFactory

Bean工厂所有实现接口:
在这里插入图片描述
BeanFactory:

  • HierarchicalBeanFactory:定义父子工厂(父子容器);
  • ListableBeanFactory:实现是DefaultListableBeanFactory,保存了ioc容器中的核心信息;
  • AutowireCapableBeanFactory:提供自动装配能力;

AnnotationConfigApplicationContext 组合了档案馆,它有自动装配能力;

ApplicationContext和BeanFactory有什么区别?

核心组件接口分析-BeanDefinition

Bean的定义信息保存的地方

原文链接:https://blog.csdn.net/cjl_xupt/article/details/117718033



所属网站分类: 技术文章 > 博客

作者:我很伤感

链接:http://www.javaheidong.com/blog/article/222343/4d4dd3165eb89f792129/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)