1.什么是AOP,spring如何实现
在spring框架中,AOP是一个很重要的功能,它利用一种为横切的技术,剖开对象的封装,并将影响多个类的公共行为封装到一个可重用模块,组成一个切面
切面就是将那些与业务无关,缺位业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度
2.什么是IOC,spring如何实现
将你设计好的对象交给容器控制,把创建和查找对象的控制权交给IOC容器,由IOC容器进行注入组合对象。
2.spring常用的注解方式有哪些?
①bean的申明,注册
<bean>节点注册bean
②<bean>的注入
<property>节点使用set方式注入
构造方法注入
3.spring中的bean是线程安全问题。
spring容器中的bean是单例的,当单例中存在竞争条件,既有线程安全问题
4.FactoryBean与BeanFactory有什么区别
BeanFactory是IOC底层容器,提供了bean的管理
FactoryBean是创建Bean的一种方式,帮助实现复杂的初始化逻辑
5.spring的五大通知类型
①,前置通知:记录日志(方法将被调用)
②,环绕通知:控制事务 权限控制
③,后置通知:记录日志(方法已经成功调用)
④,异常通知:异常处理 控制事务
⑤,最终通知:记录日志(方法已经调用,但不一定成功)
6,spring常用注解及作用有那些?
①,@Controller:在控制层使用,标识该类是SpringMVC controller处理器,用来创建处理http请求的对象
②,@Service:在业务逻辑层使用,用于标注业务层组件
③,@Component:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
④,@Autowired:把配置好的bean拿用来,完成属性,方法的组装,它可以对类成员变量,方法及构造函数进行标注,完成自动装配的工作
⑤,@Bean:相当于XML中的,放在方法的上面,而不是类,意思是产生一个Bean,并交给Spring的容器管理
⑥,@Resource:它的作用相当于@Autowired注解的作用
⑦,@Value:为对应的属性注入值r
⑧,@RequestMapping:用于映射Web请求, 包括访问路径和参数
⑨,@RestController:用于标注控制层组件,包含@Controller和@ResponseBody
7,spring事物的隔离级别
1,默认:使用数据库默认的隔离级别。
2,读未提交:这是事物的最低的隔离级别,它允许另外一个事物可以看到这个事物未提交的数据
3,读已提交:保证一个事物修改的数据提交后能被另外一个事物读取,另外一个事物不能读取该事物未提交的数据
4,可重复读:它保证了一个事物不能读取另一个事物未提交的数据外,还保证了不可重复读。
5,串行化:这是花费最高代价但是最可靠的事物隔离级别,事物被处理为顺序执行