spring注解浅析

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

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

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

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

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

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

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


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

相关文章
相关标签/搜索