Spring框架学习
Posted rayrayrainrain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring框架学习相关的知识,希望对你有一定的参考价值。
最后,我还是变成了我最讨厌的人。。
Spring是java的一个框架,轻量级+非侵入性,前者指的是它很小,后者指的是业务代码对该框架没有强依赖,不需要靠继承框架提供的类或接口来做事
Spring的两个特点:
1 IoC 控制反转 a类依赖于b类,这样强耦合不好,Spring创造出b的资源并且给a用,降低耦合 ( 但是这样a其实还是要importb,不知道为什么耦合就低了。。)此时b这个对象的所有者是Spring,它的销毁和创建都是框架负责。(IoC又分两个流派,一者开场创建所有对象,一者lazy)
2 AOP 面向切面编程 类似于unittest、log这种,对一个函数,在start和end或一些特定的时机都要做很固定的事情,例如打log和cleanEnv,频繁的做一件事情很浪费,这里log和cleanEnv被称为切面,Spring提供了一种方式,使得我们可以先对log这一切面进行编程,然后为func声明这一切面,这样可以达到代码复用(golang自带的说?)
@Autowired - java中的一个装饰器(python里面是这么叫的。。),如果a要利用IoC调用b,那么就得在xml文件里进行提前声明,这样才能使得a找到b。这可能会造成一个很大的xml。a在类中声明b时,只需要加上这个,编译器就会自己去找b在哪儿。
以上是关于Spring框架学习的主要内容,如果未能解决你的问题,请参考以下文章