IOC和AOP
IOC(Inversion Of Control):控制反转
控制:资源的获取方式:
主动式:(要什么资源自己创建)
ClassSerVlet{
ClassService sc = new ClassService();
AirPlane ap = new AirPlane() //主动式复杂对象不好创建 ,因为无参构造器出来的是没功能的
}
被动式:资源不是我们自己创建,而是交给一个容器创建
ClassSerVlet{
ClassService bs;
public void test(){
bs.checkout();
}
}
容器:管理所有的组件(有功能的类);假设ClassServlet受容器管理,ClassService也收容器管理;容器可以自动探查出那些组件(类)需要用到另一些组件(类);容器帮我们创建ClassServlce对象,并把ClassService赋值过去
容器可以把主动new的资源换成被动接受的资源
DI:Dependency Injection 依赖注入
如果说IOC是一种思想,那么DI就是对IOC的实现方法。
容器能知道哪个组件在运行的时候需要另一个组件;容器通过反射的方式,将容器中准备好的xxxx对象注入(利用反射给属性赋值)到需要他的组件中,比如将xxxService注入到xxxxServlet中
如有差错,请各位指正