zoukankan      html  css  js  c++  java
  • 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实现客户端的负载均衡功能。

  • 相关阅读:
    JavaScript 为字符串添加样式 【每日一段代码80】
    JavaScript replace()方法 【每日一段代码83】
    JavaScript for in 遍历数组 【每日一段代码89】
    JavaScript 创建用于对象的模板【每日一段代码78】
    html5 css3 新元素简单页面布局
    JavaScript Array() 数组 【每日一段代码88】
    JavaScript toUTCString() 方法 【每日一段代码86】
    位运算
    POJ 3259 Wormholes
    POJ 3169 Layout
  • 原文地址:https://www.cnblogs.com/weigy/p/12541604.html
Copyright © 2011-2022 走看看