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

相關文章
相關標籤/搜索