七叶笔记 » java编程 » 多年开发经验总结的Java面试题——(八)

多年开发经验总结的Java面试题——(八)

1、Spring的几种注入方式

(更多相关面试题推荐:java面试题及答案)

注解注入、setter注入、构造器注入

2、Spring如何实现事务管理

编程式事务管理:将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式事务中,必须在每个业务操作中包含额外的事务管理代码。

(推荐教程:java入门教程)

声明式事务管理:使用spring aop拦截器实现。

3、Spring IOC和AOP的原理

IOC主要是帮我们创建对象和管理bean的容器,它控制反转就是把创建对象的权力交给ioc容器(spring容器),启动spring的时候把xml和其它配置文件加载信息到ioc容器,ioc再建立注册信息表来管理,再通过注册表实力化成bean,把bean放到spring容器bean缓冲池(hashMap实现),然后使用bean直接从缓存池取。

(学习视频推荐:java课程)

记住:spring的配置文件用于描述bean关系的,利用反射功能建立bean依赖关系。

Spring AOP底层是动态代理,动态代理分为jdk代理和cglib代理,jdk代理要求代理的类必须有父类接口,它主要通过Proxy和InvocationHandler接口,实现InvocationHandler接口并实现它的invoke方法,该方法传入参数有接口对象和接口方法,然后通过反射创建代理对象(需要传入两个参数一个是当前调用类的实例,一个是实现InvocationHandler的实例并传入接口)。

相关文章