Spring——DI(依赖注入)

本文介绍了依赖注入(DI)的概念及其目的,并通过实例演示了如何使用注释的方式在Spring框架中进行DI的手动装配,包括自动扫描bean、使用@Service、@Controller等注释标记组件以及@Autowired和@Resource注解进行依赖注入。

一、了解DI
DI—Dependency Injection,即“依赖注入”:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。

二、用注释方式进行手动装配编程实例
1 . 在配置文件applicationContext.xml中添加下列代码实现bean的自动扫描

    <context:component-scan base-package="com.edusoft"></context:component-scan>

2 . 在需要被创建对象的类的开头添加注释
@Service用于标注业务层组件。
@Controller用于标注控制层组件(如struts中的 action)。
@Repository用于标注数据访问组件,即DAO组件。
@Component泛 指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
3 . 在需要新建对象的地方使用@Autowired或@Resource注解方式进行装配
先在类的开头加入这两行注释:

@RunWith(SpringJUnit4ClassRunner.class)//Spring集成的Junit,用注释方式读取容器全局配置文件
@ContextConfiguration(locations = "classpath:config/applicationContext.xml")//配置文件
    @Autowired
    CategoryServiceImpl csi;

@Resource注解和@Autowired一样,也可以标注在字段或属性的 setter方法上,但它默认按名称装配。
名称可以通过@Resource的name属性指定,如果没有指定name属性, 当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对 象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称 寻找依赖对象。

    @Resource(name=“personDaoBean”) 
    private PersonDao personDao;//用于字段上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值