zoukankan      html  css  js  c++  java
  • spring注解浅析

    ·@RestController
    ·@Autowired
    ·@RequestMapping(value = "/villageDictionarySearchTreeList")
    ·@FeignClient(name = "iot-village-server", fallbackFactory = VillageDictionaryListFeignClientFallbackFactory.class)
    ·@Component
    ·@Override

    1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。
    2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。
    为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。

    spring的注解可以分为两大类
    spring的bean容器相关的注解,或者说bean工厂相关的注解;
    spring MVC相关的注解
    spring 的bean容器相关注解:先后有:@Required, @Autowired, @PostConstruct, @PreDestory,还有Spring3.0开始支持的JSR-330标准javax.inject.*中的注解(@Inject, @Named, @Qualifier, @Provider, @Scope, @Singleton).

    springmvc相关的注解有:@Controller, @RequestMapping, @RequestParam, @ResponseBody等等。

    得先了解java中的注解
    最为熟悉的是@Override
    他的定义:@Target(ElementType.METHOD)
    @Retention(RetentionPolicy.SOURCE)
    public @interface Override {
    }
    这里又提到了元注解(定义注解的注解)有@Target,@Retention,@Document

    @Autowired 是我们使用得最多的注解,其实就是 autowire=byType 就是根据类型的自动注入依赖(基于注解的依赖注入),可以被使用再属性域,方法,构造函数上。

    @Qualifier 就是 autowire=byName, @Autowired注解判断多个bean类型相同时,就需要使用 @Qualifier("xxBean") 来指定依赖的bean


    spring中注解的处理基本都是通过实现接口 BeanPostProcessor 来进行的

  • 相关阅读:
    shell安装kettle
    shell安装jdk
    shell脚本之系统初始化设置(设置selinux、设置ulimit、设置firewalld、设置time_zone)
    关闭防火墙
    todo的使用
    Android Dagger2.0 学习一下
    Android零碎知识点
    windows7 服务中上找不到mysql
    AS 3.1 多library合并打包成aar的正确方式(fat-aar)
    Alexander的Python机器学习 之目录分析。
  • 原文地址:https://www.cnblogs.com/jacksonlee/p/10244890.html
Copyright © 2011-2022 走看看