1. 注入类型
a) Spring_0300_IOC_Injection_Type
b) setter(重要)
c) 构造方法(可以忘记)
d) 接口注入(可以忘记)
以下是setter 注入
构造方法注入
1. id vs. name
a) Spring_0400_IOC_Id_Name
b) name可以用特殊字符
<bean name="u" class="com.demo.dao.impl.UserDAOImpl"/> 把 id 改成name 原因是可以加特殊字符 (不重要)
1. 简单属性的注入(不重要)
a) Spring_0500_IOC_SimpleProperty
b) <property name=… value=….>
1. <bean 中的scope属性
a) Spring_0600_IOC_Bean_Scope
b) singleton 单例 (默认)
c) proptotype 每次创建新的对象
1. 集合注入
a) Spring_0700_IOC_Collections
b) 很少用,不重要!参考程序
1. 自动装配
a) Spring_0800_IOC_AutoWire
b) byName
c) byType
d) 如果所有的bean都用同一种,可以使用beans的属性:default-autowire
2. 生命周期
1. 生命周期
a) Spring_0900_IOC_Life_Cycle
b) lazy-init (不重要)
c) init-method destroy-methd 不要和prototype一起用(了解)
1. Annotation第一步:
a) 修改xml文件,参考文档<context:annotation-config />
2. @Autowired
a) 默认按类型by type
b) 如果想用byName,使用@Qulifier
c) 写在private field(第三种注入形式)(不建议,破坏封装)
d) 如果写在set上,@qualifier需要写在参数上
3. @Resource(重要)
a) 加入:j2ee/common-annotations.jar
b) 默认按名称,名称找不到,按类型
c) 可以指定特定名称
d) 推荐使用
e) 不足:如果没有源码,就无法运用annotation,只能使用xml
4. @Component @Service @Controller @Repository
a) 初始化的名字默认为类名首字母小写
b) 可以指定初始化bean的名字
5. @Scope
6. @PostConstruct = init-method; @PreDestroy = destroy-method;
context.xml 标签自动提示配置
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
1. @Resource(重要)
a) 加入:j2ee/common-annotations.jar
b) 默认按名称,名称找不到,按类型
c) 可以指定特定名称
d) 推荐使用
e) 不足:如果没有源码,就无法运用annotation,只能使用xml
@Resource //D:\javasoft\ssh\spring-framework-2.5.6\lib\j2ee\common-annotations.jar 包
1. @Component @Service @Controller @Repository
a) 初始化的名字默认为类名首字母小写
b) 可以指定初始化bean的名字
2. @Scope
3. @PostConstruct = init-method; @PreDestroy = destroy-method;
Spring_1300_Annotation_Pre_Post_Scope