-
IOC,DI和AOP全写的英文单词?
控制反转(IoC:Inversion of Control ) 赖注入(DI:Dependency Injection )
面向切面编程(AOP:Aspect Oriented Programming) -
根据你的理解,讲讲什么是IOC,以及依赖注入带给我们的好处?
控制反转(依赖注入)就是对组件对象控制权的转移,从程序代码本身转移到了外部容器,通过容器实现组件对象的装配和管理,在运行时注入所依赖的具体实例,从而实现组件之间的解耦合,提高程序的扩展性和可维护性。总结一句话就是,将组件对象的控制权从代码本身转移到外部容器。
依赖的注入:将组件的构建和使用分开。而不是以硬编码的方式耦合在一起。
好处:以Spring为例,因为把对象之间关系的维护放在了XML中定义,当我们需要更换实现类时会变得很简单,只需要修改XML就可以了,避免了大量的程序修改。 -
根据你的理解,讲讲什么是AOP,以及AOP有什么好处?
所谓AOP(面向切面编程),是一种通过预编译和运行期动态代理的方式实现在不修改源代码的情况下给程序动态添加功能的技术。在程序运行期间,不修改源码对已有方法进行增强。
好处:减少重复代码,提高开发效率,维护方便 -
面向切面编程,主要关心哪两个问题?
在什么位置,执行什么功能。 -
Spring提供了哪几种依赖注入方式?
第一种:使用构造函数提供
第二种:使用set方法提供
第三种:使用P命名空间 -
Spring提供的增强处理类型包括哪几种?
前置增强,后置增强,异常抛出增强,环绕增强和最终增强。 -
通过Schema形式将POJO的方法配置城切面,需要用到的标签包括哪些?分别代表什么意思
aop:config:配置AOP
aop:pointcut:配置切入点
aop:aspect :配置切面
aop:before:前置增强
aop:after-returning:后置增强
aop:after-throwing:异常抛出增强
aop:after:最终增强
aop:around:环绕增强 -
用来定义Bean组件的注解包括哪些?
@ Component:用于把当前类对象存入spring容器中
@ Controller:一般用在表现层
@ Service:一般用在业务层
@ Repository:一般用在持久层
9.Bean组件的装配可以通过哪些注解来实现 @AutoWired @Qualifier @Resource
-
使用注解的方式定义切面可以大大简化配置工作,常用的注解有哪些?
@Aspect,@Pointcut,@Before,@AfterReturning,
@AfterThrowing,@After,@Around -
在Spring配置文件中,使用什么元素标签可以扫描包含注解的类,配置什么元素可以启用对@Aspect注解的支持?
配置spring创建容器时要扫描的包:<context:component-scan >
配置spring开启注解AOP的支持:aop:aspectj-autoproxy
12.说出面向切面编程的一些核心概念点以及单词?
目标对象(target),切面(aspect),连接点(joinpoint),切入点(pointcut),通知(advice),织入(weave)
13.配置Spring环境需要导入的jar包?
spring-aop-5.0.2.RELEASE.jar
spring-aspects-5.0.2.RELEASE.jar
spring-beans-5.0.2.RELEASE.jar
spring-context-5.0.2.RELEASE.jar
spring-core-5.0.2.RELEASE.jar
spring-expression-5.0.2.RELEASE.jar