1. Spring Bean容器中最核心一个机制是IOC(控制反转), 所以有时候又将spring bean容器称之为 Spring IOC容器。
2. Spring IOC,如何理解? IOC是Spring中提供一种控制反转机制, 目的将我们项目中对象的依赖管理交给Spring实现。
3. Spring DI如何理解? DI是Spring中的依赖注入机制,
4. Spring 中配置bean的方法有几种? 两种,基于XML和注解方式
(1)两者配置bean对象时,有什么优缺点?
5. Spring中如何优化对对象的使用 (1)单例设计 (2)延迟加载
6. @Resource与 @Autowired区别
(1)@Resource:注解一般用在属性或set方法上,用于为对象参数赋值。 规则是 假如这个注解中指定名字,则只按注解中的name属性对应值 查找对象,然后进行值的注入;假如注解中没有指定名称,先按变量 进行查找,假如没有找到,则按类型查找。
备注:一般应用在属性或方法上,假如Spring发现某个set方法上有此注解, 则会直接调用set方法为属性赋值。
(2)@Autowired, 相同点:都是由Spring容器注入值 构造方法和属性上
======================================================
/**告訴spring幫我為此屬性注入值 * 1)UserDao對象由誰創建? * 2)userDao這個變量的值由誰進行賦值. * @Resource 註解一般用在屬性或set方法上 * 用于为对象参数赋值,规则是假如这个注解中 * 指定了名称,则只按注解中的name属性对应值 * 查找对象,然后进行值得注入.假如注解中 * 没有指定名称,先按变量名进行查找,假如没 * 找到,则按类型查找. * * @Resource一般应用在属性或set方法上, * 假如Spring发现某个set方法上有此注解,则会 * 直接调用set方法为属性赋值. * */ =====================================
/**通过@Autowired实现对象属性值的注入 * 默认是按属性类型进行值的注入,假如 * 类中提供了与此属性有对应关的系构造 * 函数则执行这个构造函数直接对属性 * 初始化,如果没有,底层通过反射获得属性 * 类型以后,然后容器中查找与此类型匹配 * 的对象为其注入值. * 当按类型进行注入时,假如容器中存在多 * 个类相同的对象时可能会注入失败,此时 * 还可以借助@Qualifier这个注解指定 * 按名字进行注入. * 说明:在使用@Qualifier注解时前提必须 * 已经使用了@Autowired注解 * */
=======================================================
/*** * 使用Component注解修饰的类 * 由spring管理时会为这个bean * 默认起个名字,这个名字就是类 * 名的第一个单词的首字母小写, * 假如希望自己指定名字,需要在 * 注解中进行配置. */
============================================================
//spring中如何优化对对象的使用? //1)单例设计 //2)延迟加载
================================
|