对Spring的理解

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。


1、IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时,要是产生的是单例的bean,他还可以给管理bean的生命周期!

2、spring的IOC有三种注入方式 :

第一是根据属性注入 也叫set方法注入;
第二种是根据构造方法进行注入;
第三种是根据注解进行注入,这种方式我认为比较好,方便,要是bean多的话,使用前两种方式会使得配置文件过于臃肿。

3、Spring的优点:

主要是根据它的IOC和AOP体现的。我感觉他就是把我们以前用到的工厂模式和代理模式进行了一个封装。
IOC主要是解决了代码的耦合性问题,而AOP是面向切面编程的最好解释!

4.通俗解释Spring中IOC,AOP:(解释一:)

IOC就是控制翻转或是依赖注入。是spring的核心思想。ioc是解耦作用。
通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new生成你需要的对象,
而是通过spring的bean工厂为你产生这样一个对象。

AOP就是面向切面的编程。比如说你每做一次对数据库操作,都要生成一句日志。
如果,你对数据库的操作有很多类,那你每一类中都要写关于日志的方法。
但是如果你用aop,那么你可以写一个方法,在这个方法中有关于数据库操作的方法,
每一次调用这个方法的时候,就加上生成日志的操作。


AOP面向切面编程 将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。

比如: 很多方法可能会抛异常,你要记录这个异常到日志中去,可以写个拦截器类,在这个类中记录日志,
在spring.xml中配置一个对这些要记录日志的方法的aop拦截器 在这个方法执行后调用这个拦截器,记录日志。
这样就不用每次抛异常都要手动记录日志。 spring的事务管理用到的就是aop 这样也可以提高程序的内聚性。

5.简述Spring框架中IOC和AOP:(解释二:)

IOC:控制反转,是一种设计模式。一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制;
     第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。他们的依赖关系只在使用的时候才建立。

AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。
     Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。

     不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便 。
 

你可能感兴趣的:(原创,ssm,SSH,Java)