1-1 IOC与DI的理解
1.IOC控制反转,是一种设计理念,由第三方来管理与控制对象
2.DI依赖注入,具体技术实现,由对象容器在运行时动态注入对象
1-2 Spring实例化对象的三种形式
Spring中Bean实例化有几种方式?
1.使用类构造器实例化
2.使用静态工厂方法实例化
3.使用实例工厂方法实例化
1-3 Spring四种注入方式
Bean注入属性有哪几种方式?
1.setter注入
2.构造器注入
3.注解注入
4.Java Config注入
1-4 Spring常见面试问题
1.请说明Scope属性的作用与取值?
作用是用于控制对象的数量,是单例还是多例
scope=singleton 单例
scope=prototype 多例 (IOC容器初始化的时候不会创建对象,只有在getBean的时候创建)
scope=request 如果引用了springmvc中,则在同一个请求内对象是同一个,不同的请求IOC容器产生不同的对象
scope=request 如果引用了springmvc中,同一个session内部,调用多次getBean是同一个对象,但是不同的session是不同的对象
2.请说明lazy-init属性的作用?
延迟初始化,懒加载,设置为true的时候,只有需要这个Bean的时候才会实例化
scope=prototype,lazy-init属性会失效
3.@Autowired与@Resource有什么区别?
@Resource 官方定义的包,可以设置name属性可以按照名称匹配,Autowired是没有的
@Autowired 第三方定义的包,机制不一样,只能够按照类型在ioc容器中进行匹配
推荐使用Resource
1-5 AOP五种通知类型
AOP面向切面编程(在不修改原始代码的情况下,通过通知对原有代码进行扩展)
1-6 声明式事务