Spring框架入门(二)---注解

一、概述

Spring的IOC容器最开始可以通过xml配置的方式将bean加载到容器中,但是在实际应用过程中,需要配置的xml文件太多,从而出现了通过注解(Annotation)的方式来初始化bean,大大减少了xml文件的配置。

二、在classpath中扫描组件

1、组件扫描(component scanning)

Spring可以从classpath下自动扫描并实例化具有特定注解的组件,即在 Spring 的 XML 配置中,通过< context:component-scan >元素开启 Spring Beans的自动扫描功能。开启此功能后,Spring 会自动扫描指定的包(base-package 属性设置)及其子包下的所有类。

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

2、特定的注解

①、@Component:基本注解,把资源让 spring 来管理,相当于在 xml 中配置一个 bean。
②、@Respository:用于持久层的注解。
③、@Service:用于业务层的注解。
④、@Controller:用于控制层的注解。

以上四个注解都是在告诉Spring把这个类放进IOC容器中,区别在于区分不同类在程序中的作用。
对于扫描到的组件, Spring 有默认的命名策略: 使用类名, 第一个字母小写,也可以在注解中通过 value 属性值(指定 bean 的 id)标识组件的名称。

三、自动装配

组件装配:< context:component-scan > 元素会自动注册 AutowiredAnnotationBeanPostProcessor 实例, 该实例可以自动装配具有 @Autowired 和 @Resource 、@Inject 注解的属性。 三个注解的作用几乎相同的,一般使用@autowired 注解。
@Autowired注解首先通过类型匹配,如果有多个bean,就通过变量名称匹配,如果匹配不到就会抛异常,这时可以采用@resource注解,可以指定需要装配的bean的id。
@Autowired(required=true/false)表示是否必须要装配上,默认为true。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值