IOC:控制反转
public class PersonServiesBean{
private PersonDao persondao=new PersonDaoBean();
public void save(Person person){
persondao.save(person);
}
}
PersonDaoBean是在应用内部创建和维护的,所谓控制反转就是应用本身不负责依赖对象的创建 ,依赖对象的创建创建及维护是由外部负责的,控制权的转移就是所谓的反转。
依赖注入:Dependency Injection
在运行期间由外部容器将依赖对象注入到组件中。
为何使用spring?
低入侵设计,代码的污染度低。
可以使用容器提供更多服务,如事物管理服务等。
提供了aop技术,利用它容易实现权限拦截,近期监控等。
spring的orm和dao提供了与第三方持久层框架的良好整合
如何区分一个应用是轻量级还是重量级框架?
主要看它使用了多少服务。使用的服务越多,容器要为普通java对象要做的就更多,必然会影响到发布的时间和性能。