Spring框架之IoC控制反转
对于不使用的spring框架的代码而言,他的耦合度太高,依赖关系太强
因此对此采用的解决的方法是使用IoC(Inversion of Control),即是控制反转。
让组件(类与类)之间的依赖关系通过接口或抽象类的变量完成,就是说在需要实例化的时候,由spring来帮助我们注入对象,然后通过内部的变量来引用
控制反转
使用IoC后,不再是在类中new新的对象,而将这个new的事情交给IoC容器去做,而我们只在需要的时候从这个容器中拿出来,由Ioc容器为我们注入,由于是对象之间的关系,所以也称为依赖注入。
将他们放到统一的XML 文件中,通过一个容器在需要的时候把这个依赖关系形成,即把需要的接口实现注入到需要它的类中,这可能就是“依赖注入”说法的来源了。
在类中实现的具体步骤是
需要一个xml(一般叫做application-config.xml)文件注册bean(组件)
至于什么是bean,将在另外一篇文章讲述
简单的注册一个bean
①、加载xml配置文件放在一个IoC容器中(完成xml配置文件中所有bean的创建,当这个类需要什么的对象时候就直接在这个IoC容器拿)
String resource = “application-context.xml”;
ApplicationContext ctx = new ClassPathXmlApplicationContext(resource);
②、从IoC容器中取自己需要的对象(按在xml注册的识别名取)
UserService userService = ctx.getBean(“userService”, UserService.class);
至此,就得到这个对象,根据反射的原理,你可以拿到它定义的属性、方法等;