Spring问答

3、AOP的作用。

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

AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。这个简单来说就是可以在一段程序之前或者之后做一些事。

Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。

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

4、你对Spring的理解。

1.Spring实现了工厂模式的工厂类(在这里有必要解释清楚什么是工厂模式),这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。

2. Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。IOC也称为DI(Depency Injection),什么叫依赖注入呢? }

另外两种方式都由依赖,第一个直接依赖于目标类,第二个把依赖转移到工厂上,第三个彻底与目标和工厂解耦了。在spring的配置文件中配置片段如下:

<bean id=”computer” class=”cn.itcast.interview.Computer”></bean>

<bean id=”programmer” class=”cn.itcast.interview.Programmer”>

<property name=”computer” ref=”computer”></property>

</bean>

3. Spring提供了对AOP技术的良好封装, AOP称为面向切面编程,就是系统中有很多各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,例如,加入日志,加入权限判断,加入异常处理,这种应用称为AOP。实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,有两种方式可以实现相同的方法声明,一是实现相同的接口,二是作为目标的子类在,JDK中采用Proxy类产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则可以用CGLI B。在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供,显然要创建出代理对象,至少需要目标类和Advice类。spring提供了这种支持,只需要在spring配置文件中配置这两个元素即可实现代理和aop功能,例如,

<bean id=”proxy” type=”org.spring.framework.aop.ProxyBeanFactory”>

<property name=”target”ref=””></property>

<property name=”advisor”ref=””></property>

</bean>

时间: 2024-10-18 03:33:47

Spring问答的相关文章

【面试】Spring问答Top 25

本文由 ImportNew - 一直在路上 翻译自 howtodoinjava.欢迎加入翻译小组.转载请见文末要求. 本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到.对于本文中未提及的Spring其他模块,我会单独分享面试的问题和答案. 欢迎大家向我推荐你在面试过程中遇到关于Spring的问题.我会把大家推荐的问题添加到下面的Spring常用面试题清单中供大家参考. [size=1.17em]1.什么是Spring[size=1.17e

事务配置

为什么要进行事务的配置呢? 事务就是对一系列的数据库操作进行统一的提交或者回滚,比如说某个更新操作需要先将之前的数据删除,再添加新的数据,但是如果你删除以后,添加的时候出现异常没有添加成功的话,那么就会出现错误了,你把旧数据删除了,但是新数据又没加上去. 在application.xml文件中进行配置,注意不要在切入点那一层try/catch,会把异常捕获掉,事务就捕获不到了. <!-- 配置事务管理 --> <bean id="transactionManager"

Spring面试问答

1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问 题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的 集成Spring框架,不必担心Spring是如何在后台进行工作的. Spring框架至今已集成了20多个模块.这些模块主要被分如下图所示的核心容器.数据访问/集成,.Web. AO

Spring基础问答--来自http://my.oschina.net/u/2260184/blog/540576博客

1  Spring工作原理 1.首先读取配置文件到容器中. 2.通过java反射机制将配置文件中描述的对象转换成java对象: 3.将这些java对象按照配置文件中的定义将他们注入到各自匹配的对象中去. 2  为什么要用Spring? Spring的目的是让对象与对象之间的关系没有通过代码来关联,通过配置文件说明管理.Spring容器的核心功能是IOC和AOP.IOC即控制反转,动态注入.使用对象之前不必使用new关键字自己创建,从IOC容器中直接获取. AOP即面向切面编程,提供对某一类对象的

转载---关于Spring的69个面试问答

链接:http://www.importnew.com/11657.html Spring概述 1.什么是Spring? Spring是一个开源的Java EE开发框架.Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性.Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO为基础的编程模型促进良好的编程风格. 2.Spring有哪些优点? 轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本

25个经典的Spring面试问答

1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的. Spring框架至今已集成了20多个模块.这些模块主要被分如下图所示的核心容器.数据访问/集成,.Web.AOP(面

Spring面试问答Top 25

本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到.对于本文中未提及的Spring其他模块,我会单独分享面试的问题和答案. 欢迎大家向我推荐你在面试过程中遇到关于Spring的问题.我会把大家推荐的问题添加到下面的Spring常用面试题清单中供大家参考. 问题清单: 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 什么是控制反转(IOC)?什么是依赖注入? 请解释下Spring中的IOC? Bea

25个经典的Spring面试问答,什么是Spring框架?

1.什么是Spring框架?Spring框架有哪些主要模块?深夜在来一波,晚安 Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的. Spring框架至今已集成了20多个模块.这些模块主要被分如下图所示的核心容器.数据访问/集成,.

【spring boot+mybatis】注解使用方式(无xml配置)设置自动驼峰明明转换(),IDEA中xxDao报错could not autowire的解决方法

最近使用spring boot+mybatis,使用IntelliJ IDEA开发,记录一些问题的解决方法. 1.在使用@Mapper注解方式代替XXmapper.xml配置文件,使用@Select等注解配置sql语句的情况下,如何配置数据库字段名到JavaBean实体类属性命的自动驼峰命名转换? 使用spring boot后,越来越喜欢用注解方式进行配置,代替xml配置文件方式.mybatis中也可以完全使用注解,避免使用xml方式配置mapper.(参考  springboot(六):如何优