zoukankan      html  css  js  c++  java
  • Spring-08-使用注解开发

    8. 使用注解开发

    在Spring4之后,要使用注解开发,必须保证aop的包导入!

    在这里插入图片描述

    使用注解需要导入context约束,增加注解的支持!

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            https://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            https://www.springframework.org/schema/context/spring-context.xsd">
    
        <context:annotation-config/>
    
    </beans>
    
    1. bean

    2. 属性如何注入 @Value("...")

      @Component
      public class User {
          //相当于<properties name="name" value="huba"/>
          @Value("CodeHuba")
          public String name;
      }
      
    3. 衍生的注解

      @Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层

      • dao【@Repository】
      • service【@Service】
      • controller【@Controller】

      这四个注解功能都是一样的,都代表将某个类注册到Spring容器中,也就是装配Bean!

    4. 自动装配

      • @Autowired:自动装配(先byType,再byName)
        • 有需要配合@Qualifier(value="xxx")
      • @Nullable:字段标记了这个注解,说明可以为null
      • @Resource:自动装配(先byName,再byType)
    5. 作用域

      @Component
      @Scope("prototype")
      public class User {
          //相当于<properties name="name" value="huba"/>
          @Value("CodeHuba")
          public String name;
      }
      
    6. 小结

    xml与注解:

    • xml更加万能,适合与任何场合,维护简单方便
    • 注解 不是自己的类使用不了,维护相对复杂!

    xml与注解最佳实践:

    • xml用来管理bean;
    • 注解只负责属性的注入;
    • 我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持。
    <!--指定扫描的包,这个包下的注解就会生效-->
    <context:component-scan base-package="com.kuang"/>
    <!--开启注解生效-->
    <context:annotation-config/>
    

  • 相关阅读:
    Android Studio快速查看apk的MD5、SHA1、SHA256
    aapt remove 命令报 error during crunch archive is toast
    如何快速将MySQL数据库转换为PostgreSQL数据库
    Exception in thread “main“ org.apache.xmlbeans.impl.values.XmlValueDisconnectedException
    idea2021奇葩问题:找不到程序包和符号
    Unable to find method ‘org.gradle.api.tasks.TaskInputs.property
    laravel response返回值精度问题
    中缀、前缀、后缀表达式的运算
    选择排序
    中缀表达式转后缀表达式
  • 原文地址:https://www.cnblogs.com/CodeHuba/p/13553066.html
Copyright © 2011-2022 走看看