【面试】【Spring常见问题总结】【03】

21、自动检测Bean

为了配置自动检测,需要使用<context:component-scan>元素。默认情况下,<context:component-scan>使用构造型注所标注类。这些特殊的注解如下

@Component——通用构造型注解,标识该类为Spring组件

@Controller——标识将该类定义为SpringMVC controller

@Respository——标识将该类定义为数据仓库

@Service——标识将该类定义为服务

22、过滤组件扫描

通过为<context:component-scan>配置<context:include-filter>和/或者<context:exnclude-filter>子元素,可以调整扫描行为。

<context:include-filter type=”xxx” expression=”yyy”/>

23、关注点(concern)

1) 核心关注点: 关注系统的业务逻辑 --> OOP

2) 横切关注点: 关注系统级服务,比如事务、安全、日志 --> AOP

24、切面(aspect):

把散落在系统各处与横切关注点相关的重复代码抽取出来归整到一处形成一个模块,我们称为切面.

25、连接点(joinpoint):

程序运行过程中的某一点.比如方法调用、属性访问、异常抛出.

26、切入点(pointcut):

一组连接点,注意: 如果要有选择性地拦截目标对象中的方法的话需要定义切入点

27、增强(advice)或者通知:

在不修改原有代码的前提下,为某一个对象增加新的功能 (如:事务服务、日志服务),在spring中增强是通过拦截器实现的.

28、织入(Weaving):

将切面应用到目标对象来创建新的代理对象的过程.

29、目标对象(target object):

需要被增强功能的对象称之为目标对象,也被称为被增强或被代理对象。

30、代理对象(proxy object)

为目标对象增加新功能从而产生的一个新的对象称为代理对象.负责调用拦截器和目标对象的方法.

时间: 2024-10-18 20:25:34

【面试】【Spring常见问题总结】【03】的相关文章

Struts+Hibernate+Spring常见问题

http://wanglihu.iteye.com/blog/1897718 1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor缺少asm-3.3.jar2.java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor缺少asm-commons-3.3.jar3.java.lang.ClassNotFoundException: org.s

【面试】【Spring常见问题总结】【01】

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Sprin

【面试】【Spring常见问题总结】【09】

81.SimpleJdbcTemplate SimpleJdbcTemplate类也是基于JdbcTemplate类,但利用Java5+的可变參数列表和自己主动装箱和拆箱从而获取更简洁的代码. SimpleJdbcTemplate主要提供两类方法:query及queryForXXX方法.update及batchUpdate方法. 82.集成Spring JDBC及最佳实践 大多数情况下Spring JDBC都是与IOC容器一起使用.通过配置方式使用Spring JDBC.   并且大部分时间都是

【面试】【Spring常见问题总结】【07】

61.Spring IoC容器的依赖有两层含义: Bean依赖容器:也就是说Bean要依赖于容器,这里的依赖是指容器负责创建Bean并管理Bean的生命周期,正是由于由容器来控制创建Bean并注入依赖,也就是控制权被反转了,这也正是IoC名字的由来,此处的有依赖是指Bean和容器之间的依赖关系. 容器注入Bean的依赖资源:容器负责注入Bean的依赖资源,依赖资源可以是Bean.外部文件.常量数据等,在Java中都反映为对象,并且由容器负责组装Bean之间的依赖关系,此处的依赖是指Bean之间的

【面试】【Spring常见问题总结】【08】

71.依赖检查 依赖检查:用于检查Bean定义的属性都注入数据了,不管是自动装配的还是配置方式注入的都能检查,如果没有注入数据将报错,从而提前发现注入错误,只检查具有setter方法的属性.Spring3+也不推荐配置方式依赖检查了,建议采用Java5+ @Required注解方式.在Spring2.5中配置方式的依赖检查有none.simple.object.all四种方式. 1.none:默认方式,表示不检查: 2.objects:检查除基本类型外的依赖对象,配置方式在bean中添加属性为:

【面试】【Spring常见问题总结】【04】

31.Spring切面可以应用5 种类型的通知 l Before--在方法调用之前调用通知. l After--在方法完成之后调用通知,无论方法执行是否成功. l After-returning-- 在生方法成功执行之后调用通知. l After-throwing--在方法抛出异常后调用通知. l Around--通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为. 32.织入的时机 l 编译期--切面在目标类编译时被织入. l 类加载期--切面在目标类加载到JVM时被织入

【面试】【Spring常见问题总结】【05】

41.声明式事务管理的事务属性有5种: 传播行为:传播行为定义了客户端与彼调用方法之间的事务边界. 隔离级别:隔离级别定义了一个事务可能受其他并发事务影响的程度. 只读:表明事务是否是只读的. 事务超时:指定事务运行的最长时间,超时就回滚. 回滚规则:定义了哪些异常会导致事务回滚而哪些不会. 42.脏读.不可重复读和幻读 脏读:一个事务读取了另一个事务改写但是未提交的数据时.如果改写在稍后被回滚了,那么第一个事务获取的数据就是无效的. 不可重复读:一个事物执行相同的查询两次或者两次以上,但是每次

【面试】【Spring常见问题总结】【06】

51.spring中的applicationContext.xml能不能改为其他名字 ContextLoaderListener是一个ServletContextListener, 它在你的web应用启动的时候初始化.缺省情况下,它会在WEB-INF/applicationContext.xml文件找Spring的配置. 你可以通过定义一个<context-param>元素名字为"contextConfigLocation"来改变Spring配置文件的位置.示例如下: &l

【面试】【Spring常见问题总结】【02】

11.初始化和销毁Bean 为Bean定义初始化和销毁操作,只需要使用init-method 和destroy-method参数来配置<bean>元素.init-method属性指定了在初始化Bean时要使用的方法.类似地,destroy-method属性指定了Bean从容器移除之前要调用的方法. 12.Spring集合配置元素 13.装配Map集合 <map>中的<entry>元素由一个键和一个值组成,键和值可以是简单类型,也可以是其他Bean的引用.这些属性将帮助我