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("st.*.mapper", "com.demo.*.mapper"))
@EnableTransactionManagement && @Transactional
Spring Boot 使⽤事务⾮常简单,⾸先使⽤注解 @EnableTransactionManagement (启注解事务管理,等同于xml配置⽅式的
<tx:annotation-driven />)开启事务⽀持后,然后在访问数据库的Service⽅法上添加注解 @Transactional 便可。
@Async && @EnableAsync
springmvc面试题常用注解@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实现客户端的负载均衡功能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论