你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

SpringBoot、SpringCloud等微服务框架的应用常用注解以及常用组件。

2021/12/2 16:23:33

SpringBoot、SpringCloud等微服务框架的应用常用注解以及常用组件。

常用注解:

@SpringBootApplication是springboot启动类,包括三个注解,他们的作用分别是

@Configuration:表示将该类作用springboot配置文件类

@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置

@ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类

@ComponentScan && @Configuration && @EnableAutoConfiguration

@ComponentScan 如果不设置basePackage的话 默认会扫描包的所有类,可根据basePackage 扫描指定的包

@Configuration 表示这个类中定义了Bean,会把这个类中bean加载到spring容器中

@EnableAutoConfiguration表示 会在你开启某些功能的时候自动配置,告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用,并对Spring进行相应地设置。

@Mapper && @MapperScanMapper类上面添加注解@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
@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的,作用为:配置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映射到 特定的处理方法上。

@springCloudApplication 应用开启入口 比@SpringBootApplication更强大

@EnableEurekaClient开启eureka客户端 可以调用在eureka注册的服务

@EnableDiscoveryClient 不仅可以开启eureka客户端,还有consul、zookeeper

@EnableEurekaServer 开启eureka服务端 类似于注册中心zookeeper

@EnableZuulProxy简单理解为@EnableZuulServer的增强版,当Zuul与Eureka、Ribbon等组件配合使用时,我们使用@EnableZuulProxy。

@EnableFeignClients 开启负载均衡 包装了Ribbon

@FeignClient:发现服务

@EnableHystrix 开启容错保护

@MapperScan(“com.xxx.user.mapper”) 扫描mapper包,可以直接注入标注在启动类的resttempalte方法上(负载均衡)

@Bean 标注注册一个javabean 类似ssm框架的

@LoadBalanced 开启负载均衡(客户端) 配合@EnableFeignClients标注在javaconfig文件

@PropertySource扫描外部资源文件properties 用来配置javabean标注在service方法

@HystrixCommand(fallbackMethod = “login”) 容错保护,配合@EnableHystrix

常用组件:
SpringCloud常用组件有:
1、服务注册和发现组件Eureka
2、熔断组件Hystrix
3、负载均衡组件Ribbon
4、路由网关Zuul
5、远程调用Feign