控制反转,依赖注入(一)

class A{
    int a;
    int b;

    public void excuex(){};
}

//实例化用一个变量保存下来

A a = new A();

@Autowite 

A a;   //Spring初始化,实例话(控制权),

//一定要初始化才行,报空指针异常

a.excuex()

//IOC容器(存的javaBean)

//WEB容器,存的servlet

 

//实现依赖注入(赋值) 把等号右边的东西赋值给左边

@Autowrite Interface A a;//自动把他的实现类注入进来

@Resource("aaa")  A b; //IOC容器中类id为aaa对象自动注入到这里(可以区分父子类)

@autowrite A a; //根据类型自动注入

//依赖链中的所有的对象,IOC容器里面初始化

实例化的先后顺序  B  A  C 

class C{

    private A a;

    public void func(){
        a.xxx();//想用a的方法必须先初始化a
    }
}

class A{
    private B b;
}

 

spring 的注入方式

1.setter

2.构造方法

3.强制赋值   @Autowrite  private  Interface A a;

 

你可能感兴趣的:(Spring源码分析)