springcloud中常用的註解

springcloud中常用的註解

@SpringBootApplication是springboot啓動類,包括三個註解,他們的作用分別是:

            @Configuration:表示將該類作用springboot配置文件類

            @EnableAutoConfiguration:表示程序啓動時,自動加載springboot默認的配置

            @ComponentScan:表示程序啓動是,自動掃描當前包及子包下所有類

@EnableDiscoveryClient    &&    @EnableEurekaClient

        @EnableDiscoveryClient基於spring-cloud-commons,@EnableEurekaClient基於spring-cloud-netflix,如果選用的註冊中心是eureka,那麼就推薦@EnableEurekaClient,如果是其他的註冊中心,那麼推薦使用@EnableDiscoveryClient。


@ComponentScan    &&    @Configuration    &&    @EnableAutoConfiguration

        @ComponentScan 如果不設置basePackage的話 默認會掃描包的所有類,所以最好還是寫上basePackage (@componentScan({" ... "}),減少加載時間。默認掃描**/*.class路徑 比如這個註解在com.wuhulala 下面 ,那麼會掃描這個包下的所有類還有子包的所有類,比如com.wuhulala.service包的應用

          @Configuration 表示這個類中定義了Bean,會把這個類中bean加載到spring容器中

          @EnableAutoConfiguration表示 會在你開啓某些功能的時候自動配置,這個註解告訴Spring Boot根據添加的jar依賴猜測你想如何配置Spring。由於spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration將假定你正在開發一個web應用,並對Spring進行相應地設置。

@Mapper    &&    @MapperScan

        Mapper類上面添加註解@Mapper,這種方式要求每一個mapper類都需要添加此註解

        使用@MapperScan可以指定要掃描的Mapper類的包的路徑(@MapperScan("com.demo.*.mapper") || @MapperScan("com.test.*.mapper", "com.demo.*.mapper"))

@EnableTransactionManagement    &&    @Transactional

        Spring Boot 使用事務非常簡單,首先使用註解 @EnableTransactionManagement (啓註解事務管理,等同於xml配置方式的 <tx:annotation-driven />)開啓事務支持後,然後在訪問數據庫的Service方法上添加註解 @Transactional 便可。


@Async    &&    @EnableAsync

        @EnableAsync註解的意思是可以異步執行,就是開啓多線程的意思。可以標註在方法、類上。

        爲了讓@Async註解能夠生效,需要在Spring Boot的主程序中配置@EnableAsync

        @Async所修飾的函數不要定義爲static類型,這樣異步調用不會生效


@Bean    &&    @Configuration

        @Bean標註在方法上(返回某個實例的方法),等價於spring的xml配置文件中的<bean>,作用爲:註冊bean對象

        @Configuration標註在類上,相當於把該類作爲spring的xml配置文件中的<beans>,作用爲:配置spring容器(應用上下文)


@GetMapping    &&    @PostMapping

        Spring4.3中引進了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},來幫助簡化常用的HTTP方法的映射,並更好地表達被註解方法的語義。

        @GetMapping是一個組合註解,是@RequestMapping(method = RequestMethod.GET)的縮寫。該註解將HTTP Get 映射到 特定的處理方法上。

        @GetMapping是一個組合註解,是@RequestMapping(method = RequestMethod.POST)的縮寫。該註解將HTTP Post映射到 特定的處理方法上。


@LoadBalanced

        Spring Cloud的commons模塊提供了一個@LoadBalanced註解,方便我們對RestTemplate添加一個LoadBalancerClient,以實現客戶端負載均衡。通過源碼可以發現這是一個標記註解,我們可以通過ribbon實現客戶端的負載均衡功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章