Spring学习之注解配置

1. 注解定义Bean

@Component("xxDao")

等效于再xml文件配置 <bean id="xxDao" class="com.jason.too.anno.XxDao"/>

@Repository:对DAO实现类进行注解

@Service:对Service实现类进行注解

@Controller:对Controller实现类进行注解

@Component:以上三种注解的替代

2. 扫描注解定义的Bean

spring提供context命名空间,提供通过扫描类包应用注解定义Bean的方式:

<context:component-scan bean-package="com.jason.too.anno"/>

3. 自动装配Bean

1. 使用@Autowired进行自动注入

@Service   // 将LogonService标注为Bean

public class LogonService {

    @Autowried

    private UserDao userDao;

    @Autowired

    private LogDao logDao;

    ... ...

}

2. @Autowired的required属性

如果容器中没有一个标注变量匹配的Bean,Spring启动时将报NoSuchBeanDdefinitionException一场。如果希望Spring即使找不到标注的Bean也不抛出异常,则使用@Autowired(required=false)进行标注。

3. 使用Qualifier指定注入Bean的名称。

@Service   // 将LogonService标注为Bean

public class LogonService {

    @Autowried

    @Qualifier("userDao")

    private UserDao userDao;

    @Autowired

    @Qualifier("logDao")

    private LogDao logDao;

    ... ...

}

5. 对集合类进行标注

如果对类中集合类的变量或方法入参进行@Autowired标注,则Spring会将容器中类型匹配的所有Bean都注入进来。

6. 延迟依赖注入

使用@Lazy进行延迟依赖注入,需要同时标注Bean和属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值