品味Spring的魅力[Java编程]
本文“品味Spring的魅力[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Spring的哲学是在不影响Java对象的计划的情形下将Java对象加入到框架中.
EJB的框架采取了一种侵犯性(Invasive)的办法来计划对象,它要求你在计划中加入符合EJB标准的代码.一些轻量级的COP框架,比方Avalon,也要求对象计划时必须符合某种标准,比方Serviceable接口,这种做法是典型的Type 1做法.
这种计划思绪要求Spring采取一种动态的、机动的方法来计划框架.所以spring大量采取了反射.首先spring要办理的一个问题就是若何管理bean.因为IOC的思惟要求bean之间不可以直接调用,而应当采取一种被动的方法举行合作.所以bean的管理是spring中的核心部份.
反射和内省在代码的层次上考虑问题,有时刻可以带来出其不意的机动性.但它的利用有时刻也是一个哲学问题,不管是在ORM计划还是在AOP计划上都呈现了近似的问题-毕竟是利用反射,还是利用代码生成.
在Spring中,处理这个问题的核心是在org.springframework.beans包中.而此中最为核心的部份,则是BeanWrapper.BeanWrapper,顾名思义,就是bean的包装器.所以,它的主要工作,就是对任何一个bean,举行属性(包含内嵌属性)的设置和办法的调用.在BeanWrapper的默许实现类BeanWrapperImpl中,固然代码较长,但完成的工作倒是非常的集合的.
BeanWrapper的深化研究
我们看看这个BeanWrapper是若何施展运作的,假定我们有两个bean:
public class Company {
private String name;
private Employee managingDirector;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Employee getManagingDirector() {
return this.managingDirector;
}
public void setManagingDirector(Employee managingDirector) {
this.managingDirector = managingDirector;
}
}
public class Employee {
private float salary;
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
}
以上是“品味Spring的魅力[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |