1.IOC
使用spring主要是使用的是里面的IOC和AOP,主要使用IOC来管理一个对象的,像以前的MVC经典三层,他们各层之间的对象都是耦合度特别的强,通过new来创建,new每一层才能够调到另外一层。而使用IOC能够对MVC三层进行一个解耦。具体的做法配置是在spring的配置文件中去一个bean标签使用一个叫做class的一个属性。然后将这个对象加入到IOC容器中,但也要取一个ID属性,方便对这个对象的取用,也可以使用一个叫@configration这么一个类,然后在相应的方法上面将return回来的对象通过@bean的一个注解,把它加入到一个spring的ioc容器中,他的方法名就是一个默认的一个ID,也可以使用在这个@bean注解里面,起一个ID属性,改一下这个ID名字,在启用这个IOC容器中对象的时候,可以使用两个注解,一个是@resource,一个是@autowire取出这个对象。@resource注解取出对象是按照对象的名字来取的,而@autowire是按类型来取对象的.IOC的底层使用的是有一个map来做这个IOC的容器。
AOP
先说一下OOP的编程思想,OOP他是一个自上而下的编程思想,而AOP它是横切性的编程思想,也就是将代码横切性的编入代码中,而这个AOP的编程思想,主要有两种方式:一种是使用aspectj的一个方式,还有一种是使用springAOP的一个方式,springAOP是借助这个aspectj的语法实现这个AOP的编程思想。配置这个springaop,就要在他的spring配置文件上面配置上它的切面,还有它需要增强的类型。以及相应的切入点,当然也可以使用注解的方式进行配置,也就是起一个叫@aspect的切面类,然后在类里面起方法,这个方法里面的内容就是相应你要植入到目标类的一个逻辑代码,并加上相应的一个增强类型的一个注解,比如说@before,@after,然后用@pointcut来指定这个目标类上面的哪个方法来执行,而我使用比较多的场景,就是在这个监控日志,事物控制,以及权限管理这一块。