1、ApplicationContext ac = new AnnotationConfigApplicationContext(“com.lwl.www”)
该句用来创建对象,创建过程为:
先扫描@Component、@Configuration等注解
创建出对象
2、进行注入(组装)即:建立类之间的关系
3、以上两步全部完成之后,容器中的环境已经准备完毕(可以直接拿出来用了)
即:可以使用getBean()了
@Component
public class Test1 {
public static void main(String[] args) {
//扫包或加载ac.xml
//AnnotationConfigApplicationContext
//ClassPathXmlApplicationContext
//new实例化上面这两个类的时候,其实就是在创建对象的阶段
//(1)ac.xml
//(2)JavaConfig.class
//(3)"com.ghy.www"
//找到目标路径,然后找到路径中有没有类包含:
//(1)@Configuration
//(2)@Controller
//(3)@Service
//(4)@Component
//如果有,反射实例化,创建出对象后放入IOC容器中,
//再注入(装配),
//以上这些步骤都是new这个类所执行的外部或内部的流程
/
//扫包,反射创建对象,注入
ApplicationContext ac = new AnnotationConfigApplicationContext("com.lwl.www");
//到getBean()阶段,容器中的环境一切准备就绪了,就等着getBean
Bookinfo bookinfo = ac.getBean(Bookinfo.class);
//call service method !
System.out.println(bookinfo.getUserinfo());
}
}