控制:资源的获取方式
主动式:
BookServlet {
BookService bs=new BookService();
AirPlane ap=new AirPlane();//复杂对象的创建时庞大的工程
}
被动式:资源的获取不是我们自己创建,而是交给一个容器来创建和设置。
BookServlet {
BookService bs;
public void test1() {
bs.checkout();
}
}
容器:管理所有的组件(有功能的类);假设BookServlet受容器管理,BookService也受容器管理;容器可以自动的探查出哪些组件(类)需要用到另一组件;容器帮我们创建BookService对象,并把它赋值过去。
容器:主动的new资源变为被动的接受资源;
容器能知道哪个组件运行的时候需要另外一个组件;容器通过反射的形式,将容器中准备好的BookService对象注入(利用反射给属性赋值)到BookServlet中;
只要容器管理的组件,都能使用容器提供的强大功能。