spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析

Posted 音风水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析相关的知识,希望对你有一定的参考价值。

AutoWiredAnnotationBeanPostProcessor 执行依赖注入的时候(解析@Autowired)调用了postProcessProperties 方法

这个方法首先要找到哪些属性,方法被标注了@Autowired注解,把这些数据添加到 InjectMetadata中,然后调用metadata.inject方法按类型进行依赖注入,注入时按类型进行查找

按类型查找的流程

  1. 首先通过反射拿到被注解标注的字段或者方法
  2. 再将这个字段,或者方法中的参数添加到DependencyDescriptor中
  3. 通过beanFactory的doResolveDependency方法找到和这个属性具有相同类型的bean
  4. 最后通过反射的set方法把属性赋值

spring_01

介绍

是一个贯穿整个项目的管理对象的容器

 一站式框架

1.正是因为spring框架性质是属于容器的性质,容器中装什么对象就有什么功能所以
是一站式框架。

2.不仅不排斥其它框架,还能帮其它框架管理对象

3.aop支持

4.ioc思想 控制反转(Inversion of Control)

    把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语。
    
    包括
        依赖注入(Dependency Injection,简称DI)
    和
        依赖查找(Dependency Lookup)。

    IoC可以认为是一种全新的【设计模式】,但是理论和时间成熟相对较晚,

    并没有包含在GoF中(java的23种设计模式)。

5.spring jdbc

6.aop事物

7.junit测试支持

搭建

1.导包

    最基础的4个核心包

        beans 

        context 

        core 

        expression


    spring 使用的是Apache的日志包

        com.springsource.org.apache.commons.logging-1.1.1.jar

        老版本中,还需要:

        com.springsource.org.apache.log4j-1.2.15.jar    

2.创建类

3.创建xml配置文件 注册对象到容器

    3.1文件位置任意 (建议src目录下)
    
    3.2文件名任意建议applicationContext.xml
    
    3.3约束引入

        preferences=》xml=》xml catalog =》 add =》File System =》

        spring=》 schema =》 beans =》 .xsd

        key type: Schema location

        key:加 / + .xsd


        <beans><beans/>
        
        Design  右键Edit =》 add  =》 xsi =》将自己添加的.xsd引入

4.注册对象到容器

    <!-- 将User对象交给spring容器管理 -->

    <bean name="user" class="org.spring.domain.User"></bean>

5.测试

    @Test
    public void test(){

        //1)获取容器
        ConfigurableApplicationContext cac = 
            new ClassPathXmlApplicationContext("applicationContext");
        //2)向容器“要”对象
        User user = (User)cac.getBean("user");
        //3)使用获取过来的对象 
        System.out.println(user);
        //4)释放资源 关闭容器
        cac.close();
    
    }   

概念

1.思想 IOC 

    di 依赖注入

        注入方式: 构造方法 ,set方法注入,字段注入(不推荐)

        注入类型: 基本类型 引用类型

2.BeanFactory & ApplicationContext

    BeanFactory

        spring的原始接口,针对原始接口实现类实现的功能较为单一

        特点:每次获取对象的时候才创建对象(原因:当时的系统资源较小)

    ApplicationContext

        特点:每次容器启动时就会创建容器中配置的所有对象

        提供了更多的功能

spring配置详解

以上是关于spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析的主要内容,如果未能解决你的问题,请参考以下文章

阶段3 3.SpringMVC·_07.SSM整合案例_03ssm整合之编写Spring框架

spring_01

JavaWeb_(Spring框架)Spring配置文件

SPRING_应用程序框架源码解析目录

Spring的学习____1.概述

Java大数据开发工程师__Spring学习笔记(待更新)