spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,
程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间
的藕合度。它的原理是在applicationContext.xml加入bean标签,
在bean标签中通过class属性说明具体类名、通过property标签说明
该类的属性名、通过constructor-args说明构造子的参数。其一切都是
返射,当通过applicationContext.getBean("id名称")得到一个类实例时,
就是以bean标签的类名、属性名、构造子的参数为准,通过反射实例对象,
唤起对象的set方法设置属性值、通过构造子的newInstance实例化得到对象。
正因为spring一切都是反射,反射比直接调用的处理速度慢,所以这也是spring
的一个问题。
spring第二大作用就是aop,其机理来自于代理模式,代理模式
有三个角色分别是通用接口、代理、真实对象
代理、真实对象实现的是同一接口,将真实对象作为
代理的一个属性,向客户端公开的是代理,当客户端
调用代理的方法时,代理找到真实对象,调用真实对象
方法,在调用之前之后提供相关的服务,如事务、安全、
日志。其名称分别是代理、真实对象、装备、关切点、连接点。
spring也不是帮我们去new的,因为new这个东西实在是不好,spring是通过反射的机制帮助我们实现的,建议你去看看java的反射和动态代理,这个对你spring乃至以后的学习都是非常有用的!
spring是一个非常优秀的框架,他的官方强烈推荐使用面向接口编程,非常好的思想!方便以后程序的扩展!
有兴趣真的可以好好的研究下spring,你会知道大师级们写代码就是不一样!
学习过程是首先看看java反射的概念,然后学学AOP