【目录】
4.1 Bean的定义(注册) -- 扫描机制
4.2 Bean元素的注入
4.2.1 注入简单数据类型依赖
4.2.2 注入复杂类型数据
4.3 Bean的初始化和销毁
4.1 Bean的定义(注册) -- 扫描机制
新建web项目:spring3_day1_annotation
第一步:导入jar包,log4j.properties,applicationContext.xml
第二步: 编写Service和DAO 的注册
xml做法 : <bean id=”customerService” class=”…” />
注解做法 : spring2.5引入 @Component 注解
第三步: 配置注解Bean的扫描。配置的示例如下:
image.png引入context 名称空间 :
image.png【注意】Spring的所有名称空间都需要基于Beans的名称空间。
引入后:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
配置本地提示:
核心配置文件中开启注解功能和配置扫描注解Bean的位置
image.pngPS: <context:componet-scan> 具有 <context:annotation-config> 作用 。
测试:
image.png image.png实际开发中,使用的是@Component三个衍生注解(“子注解”)
子注解的作用:有分层的意义(分层注解)。
image.png image.png image.png4.2 Bean元素的注入
4.2.1 注入简单数据类型依赖
Spring3.0后,提供 @Value注解,可以完成简单数据的注入
image.pngPS:通过@Scope注解,指定Bean的作用域(默认是 singleton 单例)
4.2.2 注入复杂类型数据
将注解加在setXxx方法上 或者 属性定义上 ,后者是一种暴力注入,我们推荐前者。具体有如下4种方式:
image.png4.3 Bean的初始化和销毁
使用 @PostConstruct 注解, 标明初始化方法 ---相当于 init-method 指定初始化方法
使用 @PreDestroy 注解, 标明销毁方法 ----相当于 destroy-method 指定对象销毁方法
网友评论