|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
多谢指点,其实我对.net网页编程和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。
Spring的哲学是在不影响Java对象的计划的情形下将Java对象到场到框架中。
EJB的框架接纳了一种侵犯性(Invasive)的办法来计划对象,它请求你在计划中到场切合EJB标准的代码。一些轻量级的COP框架,比方Avalon,也请求对象计划时必需切合某种标准,比方Serviceable接口,这类做法是典范的Type1做法。
这类计划思绪请求Spring接纳一种静态的、天真的体例来计划框架。以是spring大批接纳了反射。起首spring要办理的一个成绩就是怎样办理bean。由于IOC的头脑请求bean之间不克不及够间接挪用,而应当接纳一种主动的体例举行合作。以是bean的办理是spring中的中心部分。
反射和内省在代码的条理上思索成绩,偶然候可以带来出人意表的天真性。但它的利用偶然候也是一个哲学成绩,不管是在ORM计划仍是在AOP计划上都呈现了相似的成绩-事实是利用反射,仍是利用代码天生。
在Spring中,处置这个成绩的中心是在org.springframework.beans包中。而个中最为中心的部分,则是BeanWrapper。BeanWrapper,望文生义,就是bean的包装器。以是,它的次要事情,就是对任何一个bean,举行属性(包含内嵌属性)的设置和办法的挪用。在BeanWrapper的默许完成类BeanWrapperImpl中,固然代码较长,但完成的事情倒是十分的会合的。
BeanWrapper的深切研讨
我们看看这个BeanWrapper是怎样发扬运作的,假定我们有两个bean:
publicclassCompany{
privateStringname;
privateEmployeemanagingDirector;
publicStringgetName(){
returnthis.name;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicEmployeegetManagingDirector(){
returnthis.managingDirector;
}
publicvoidsetManagingDirector(EmployeemanagingDirector){
this.managingDirector=managingDirector;
}
}
publicclassEmployee{
privatefloatsalary;
publicfloatgetSalary(){
returnsalary;
}
publicvoidsetSalary(floatsalary){
this.salary=salary;
}
}
<p>
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。 |
|