zoukankan      html  css  js  c++  java
  • spring常用注解的使用

    spring常用注解的使用

    1、用于创建对象

    相当于:

    1.1、@Component

    • 作用:把资源让spring来管理,相当于在xml中配置一个bean。
    • 属性
      • value:指定bean的id;如果不指定value属性,默认bean的id是当前类的类名,首字母小写。

    1.2、@Controller、@Service、@Repository

    他们三个注解都是针对@Component的衍生注解,他们的作用及属性都是一模一样的。只不过是提供了更加明确的语义化。

    • @Controller:一般用于表现层的注解。
    • @Service:一般用于业务层的注解。
    • @Repository:一般用于持久层的注解。

    细节:如果注解中有且只有一个属性要赋值时,且名称是value,value在赋值是可以不写

    2、用于注入数据

    相当于:

    2.1、@Autowired

    • 作用
      • 自动按照类型注入。当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。
      • 当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容器查找,找到了也可以注入成功,找不到就报错。

    2.2、@Qualifier

    • 作用

      • 在自动按照类型注入的基础之上,再按照Bean的id注入。
      • 它在给字段注入时不能独立使用,必须和@Autowire一起使用;但是给方法参数注入时,可以独立使用。
    • 属性

      • value:指定bean的id。

    2.3、@Resource

    • 作用:直接按照Bean的id注入。它也只能注入其他bean类型。

    • 属性

      • name:指定bean的id。

    2.4、@Value

    • 作用:注入基本数据类型和String类型数据的

    • 属性

      • value:用于指定值

    3、用于改变作用范围

    相当于:

    3.1、@Scope

    • 作用:指定bean的作用范围。
    • 属性
      • value:指定范围的值
        • 取值:singleton prototype request session globalsession

    4、和生命周期相关

    相当于:

    4.1@PostConstruct

    • 作用:用于指定初始化方法。

    4.2、@PreDestroy

    • 作用:用于指定销毁方法。
    记得快乐
  • 相关阅读:
    安装CentOS7重启后提示License information
    使用VMware 安装Linux CentOS7
    VS 2015相当不错的功能:C#交互窗口
    未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
    RabbitMQ service is already present
    RabbitMQ安装后不能运行 Error: unable to connect to node nodedown
    〖Demo〗-- 计算器
    〖Demo〗-- HAproxy配置文件操作
    〖Python〗-- 模块系列(二)
    〖Python〗-- 模块系列(一)
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13819178.html
Copyright © 2011-2022 走看看