spring框架的作用
- 解耦,降低模块之间的依赖性,解决对象的解耦合
- 作为容器,装配的是Java对象
spring的优点
- 简化开发,高效,企业使用比较多
- 轻量,核心jar包只有3M
- 针对接口编程,解耦
第一个核心IOC
- 英文全称是inversion of control
面试答题策略
- (第一句是什么,中英文都说说)ioc是inversion of control ,中文一般翻译为控制反转
- (ioc的概念)控制反转,其中控制的是Java对象,主要是指Java对象的创建,Java对象属性赋值还有Java对象的生命周期,反转就是将Java对象交由spring容器管理,不再由我们开发人员主动创建
- (实现原理)**它的实现是根据DI,dependency injection依赖注入,让我们不再关注对象创建的细节,只用提供我们需要使用的对象的名称,只需要提供需要我们需要使用对象的名称,至于对象如何创建,如何从容器中查找,都是由spring容器进行管理。其中依赖就是我们使用某个对象,他依赖于另外一个对象的某个属性或者方法,我们不关心这种细节了。注入就是给对象赋值嘛,注入就是对对象赋值的意思,这点请记住 **
- (具体实现)使用的是反射机制。可以使用jdk自带的反射机制
- (作用或好处)就是降低代码之间的耦合度,减少依赖性,一般像我们控制层,业务层,还是持久层,层层之间调用,对象的管理交由spring容器
ioc中常用注解
- Component
- respository
- service
- controller
10.autowired 默认是byType,如果联合使用qualifier,就是byName
autowired与resource区别
- 第一个autowired是byType,而resource默认是byName,没有找到就是byType
- 然后autowired是spring框架里面的,resource是java自带的
Aop面向切面
- 面向切面编程,aspect orient programming
- aspect 表示切面,给业务方法增加的功能,一般都是非核心业务功能,并且切面功能可以复用,像日志功能,事务功能,参数检查,统计信息等等。
- 一定是在方法运行中去加的功能
aop的作用
- 切面方法可以复用
- 提高开发效率,让不同的业务人员做自己的事情
- 功能的解耦合,
通知
Aspectj框架表示切面执行时间,用的通知advice,这个通知可以使用注解表示。
有五个执行时间,这些表示通知注解
- @Before 前置通知
- @AfterReturning 后置通知
- @Around 环绕通知
- @AfterThrowing 异常通知
- @After 最终通知
pointcut 位置
pointcut表示切面执行的位置,