Spring框架2--信息注入、组件扫描

一、信息注入:

1、对象注入:<property name="属性名" ref="要注入的Bean的id">

2、值注入:<property name="属性名" value="值"></property>

3、注入Spring表达式(#{id.key})、集合注入

           注意:util命名空间需要引入才能用(如下图):

 

二、组件扫描技术   (Spring2.5版本之后才有,即JDK5.0才有)

可以自动扫描指定报下的所有类,如果类定义中存在约定注解标记会将该组件转化成<bean>定义,纳入Spring容器中。

1、使用方法:

      --开启组件扫描,指定扫描路径(路径可长可短)

      --类定前使用一下注解标记之一即可:@Component,@Service,@Controller,@Repository

2、注解标记:

@Component:无法区分时使用(各处可以用)

@Service:用在Service组件上

@Controller:建议用在Action,Controller组件上

@Repository:用在DAO上面

@Scope("prototype"):设置模式为原型(注解默认是单例)

@Resource:--》默认按照变量名称找  --》失败再按类型(JAVA EE提供)

@Autowired:跟@Resource相反,先默认类型匹配注入,失败再按变量名称匹配注入(Spring提供)

@Inject:(第三方提供)用ID查找要与@Named(“id”)一起使用

注意:@Resource和@Autowired要求必须注入一个符合的对象,没有则抛出异常。@Autowired(required=false)来不抛异常,而@Resource没有这种操作。

    --如果存在注入关系,可以使用下面注解标记在变量定义或setter方法前使用@Resource,可以按类型注入和按名称注入,如下图

注意:加了注解之后,可以省去setter方法

3、注入Spring表达式:

     --先配置:<util:properties id="dbParam" location="classpath:org/lhm/config/db.properties" />

     --在在变量前加上注解:@Value("#{dbParam.userName}")

     --将组建扫描到Spring容器(用@Service或者@Component)

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值