您的位置:首页 > 编程语言 > Java开发

[Java] Spring 3.0 IOC 笔记

2014-02-01 13:07 363 查看
1, Spring 的核心,在于自动装配, 从配置文件中实例化对象,不用写new。

Spring 可以拿着针管给你注入进来, IOC

<bean id="userService" class="com.bjsxt.service.UserService">

<property name="userDAO" bean="u"/>

== <property name="userDAO" ref="u"/> </bean>

2, (a), Spring_0300_IOC_Injection_Type

(b), setter(重要)

(c), 构造方法(可以忘记)

3, id vs. name

a), Spring_0400_IOC_Id_Name

b), name可以用特殊字符 <bean id/name="u" class="com.bjsxt.dao.impl.UserDAOImpl">

4, 简单属性的注入

a), Spring_0500_IOC_SimpleProperty

b), <property name=… value=….>

(因为是基础数据类型,其实我们自己写很少遇到这样的, 但Spring整合自己时,可以用到)

5, <bean 中的 scope 属性, 生命范围

a), Spring_0600_IOC_Bean_Scope

b), singleton 单例 (默认)

c), proptotype 每次创建新的对象

<bean id="userService" class="com.bjsxt.service.UserService" scope="prototype">

6, 集合注入

a), Spring_0700_IOC_Collections

b), 很少用,不重要!参考程序

7, 自动装配

a), Spring_0800_IOC_AutoWire

b), byName

c), byType

d), 如果所有的bean都用同一种,可以使用 beans 的属性:default-autowire

8, 生命周期

a), Spring_0900_IOC_Life_Cycle

b), lazy-init (不重要) 我感觉不错。用到再实例化,不直接全初始化

c), init-method destroy-methd 不要和 prototype 一起用(了解)

Annotation

9, Annotation第一步:

a), 修改xml文件,参考文档<context:annotation-config />

10, @Autowired

a), 默认按类型by type

b), 如果想用byName,使用@Qulifier

c), 写在private field(第三种注入形式)(不建议,破坏封装)

d), 如果写在set上,@qualifier需要写在参数上

11, @Resource(重要)

a), 加入:j2ee/common-annotations.jar

b), 默认按名称,名称找不到,按类型

c), 可以指定特定名称

d), 推荐使用

e), 不足:如果没有源码,就无法运用annotation,只能使用xml

12, @Component @Service @Controller @Repository

a), 初始化的名字默认为类名首字母小写

b), 可以指定初始化bean的名字

13, @Scope

14, @PostConstruct = init-method; @PreDestroy = destroy-method;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: