【Spring学习笔记(五)】Spring框架的常用注解

首先在介绍我们Spring框架中的常用注解前,我们先来回顾一下曾经在Xml的配置文件中的配置内容:

<bean id="accountService" class="com.ysw.web.service.impl.AccountServiceImpl"
     scope=""  init-method="" destory-method="">
     <!--通过set方法进行依赖注入的-->
     <property name="" value=""></property>
</bean>

为了方便开发者开发,在Spring的注解中将这部分的bean.xml配置内容,主要区分为以下四个点的板块:

       1、用于创建对象的:

             作用就和在xml配置文件中使用<bean></bean>标签实现的功能一样。

             常用注解关键字:

             @Component

             作用:把当前类对象存入Spring-IoC核心容器

             属性:value,用于指定当前类对象bean的唯一id,当我们不写的时候,默认使用的是当前类名首字母小写

             用法:@Component(value=" ")或者@Component("  ")

             Spring框架为了用户开发方便,特意设定了三层架构的创建对象关键字:@Controller、@Service、@Repository

             以上三个注解他们的作用和属性都是一样的,使我们MVC三层对象更为清晰

 

       2、用于注入数据的:

             作用就和我们在<bean></bean>标签中使用set的方式进行注入,使用标签<property></property>的方式是一样的。

             出现的位置:可以是成员变量上,也可以是方法上

             常用注解关键字 :

             @Autowired,作用是自动按类型进行注入操作

             自动注入原理:只要Spring-IoC容器中有一个bean对象与要注入的类型匹配的话,就能够注入成功。具体来讲,@Autowired主要是首先是要匹配注入接口对象的,倘若要注入的接口对象唯一并且匹对的话,就会首先直接按接口类型进行注入。倘若注入的接口类型唯一,但是具体的实现类不唯一的话(也就是同一个接口下有两个实现类),这种情况我们就需要通过指定变量名的方式,通过id来确定具体的哪一个bean对象。如下所示,accountDao1对应id为accountDao1的bean,2对应的是2的bean。

 @Autowired
 private IAccountDao accountDao1;

 @Autowired
 private IAccountDao accountDao2;

           @Qualifier,这个必须要和Autowired结合使用

           作用:按照在类中注入的基础上,再按照名称的方式进行注入,在给类成员注入的时候不能单独使用,但是给方法参数注入时可以。

          属性:value,主要是用于指定id

          @Resource

          作用:直接按照bean的id进行独立使用。

          属性:name,直接通过id进行注入

          PS:以上三种注入都只能注入其他bean类型的数据,基本类型和String类型无法使用上述注解实现另外,集合类型的注入只能通过xml来实现。

       3、用于改变作用范围的:

             这部分就跟在xml配置文件中使用scope属性实现的功能是一致的。

             注解关键字:

             @Scope

             作用:主要是用于指定bean的作用范围

             属性:value,指定取值范围,常用取值singleton(单例)、prototype(多例)

       4、用于改变生命周期的(了解即可)

            这部分就跟在xml配置文件中使用init-method、destory-method属性实现的功能是一样的。

            注解关键字:

           @PreDestory,用于指定销毁的方法

           @PostConstruct,用于指定初始化方法

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值