【Spring】之玩转常用注解

是什么

  Sping 是一个以IOC和AOP为核心的,然后一个轻量级的开源框架,它为显示层和业务层等提供了很多应用技术,而且整合了很多的第三方类库,逐渐成为使用最多的Java EE企业应用开源框架。
【Spring】之玩转常用注解

优势

  很多的优势更大大增加了Spring的使用,灵活、动态的设计,也让越来越多的人喜欢上Spring.

  1. 方便解耦,开发方便;
  2. AOP编程的支持
  3. 声明式事务的支持
  4. 方便程序的测试
  5. 便于集成各种框架

注解

  传统的Spring模式是用XML配置文件进行配置的,这样存在的问题是如果配置文件比较多,然后就会导致XML体积比较庞大,而且灵活性不高。后来引入注解,这样提高了代码的灵活性,很大程度上解耦。下面来介绍一些常用注解的使用。

分类

一、创建对象型

 相当于xml文件中的<bean id="" class="">
[email protected]
 把资源让Spring 进行管理,相当于XML中配置一个bean。然后我们设定value属性是bean中的id,然后如果不指定value属性,然后默认bean中的id为当前类名,且是首字母小写。
【Spring】之玩转常用注解
[email protected]:作用于表现层
【Spring】之玩转常用注解
 关于@Colltroller与RestColler的区别,可以看推荐链接添加链接描述(https://www.cnblogs.com/shuaifing/p/8119664.html)
  **[email protected]:**作用于业务层
【Spring】之玩转常用注解
[email protected]:作用于持久层
【Spring】之玩转常用注解
注:对于2、3、4中,他们是提供了更加明确的语义化,如果注解中有且只有一个属性要赋值时,且名称是 value, value 在赋值是可以不写。

二、注入数据型

 相当于<property name="" ref=""> <property name="" value="">
1.@AutoWired
 自动按照类型注入。(1)只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功;(2)如果ioc容器中没有任务bean类型和要注入的变量类型匹配,则报错。(3)如果容器中有多个类型匹配时,则先去选择
2. @Qualifier
 在按照类中注入的基础之上再按照名称注入。它在给类成员注入时不能单独使用,必须和@Autowried同时。但是在给方法参数注入时可以
[email protected]
 直接按照 Bean 的 id 注入。它也只能注入其他 bean 类型;

[email protected]
 注入基本数据类型和 String 类型数据的

三、作用范围型

相当于:<bean id="" class="" scope="">
[email protected]
&emsp;指定了作用范围;比如在xml中配置的singleton(单例)、prototype(多例).

四、 生命周期型

相当于:<bean id="" class="" init-method="" destroy-method="" />

注解与XML的比较

注解

 配置简单,维护方便

XML

 修改时,不用改源码。不涉及重新编译和部署。
【Spring】之玩转常用注解