Navicat Premium 12.1.23激活(微服务常用注解大全)

Navicat Premium 12.1.23激活(微服务常用注解大全)

文章目录

      • @Bean
      • @Configuration
      • @EnableAutoConfiguration
      • @ComponentScan
      • @SpringBootApplication
      • @RunWith
      • @SpringBootTest
      • @Autowired
      • @MapperScan
      • @Table
      • @Data
      • @Id
      • @GeneratedValue
      • @Service
      • @Controller
      • @RequestMapping
      • @ResponseBody
      • @Repository
      • @Component
      • @RestController
      • @RequestMapping
      • @GetMapping与 @PostMapping
      • @EnableEurekaServer
      • @EnableDiscoveryClient与@EnableEurekaClient
      • @LoadBalanced
      • @EnableCircuitBreaker
      • @EnableHystrix
      • @SpringCloudApplication
      • @HystrixCommand
      • @DefaultProperties
      • @HystrixProperty
      • @FeignClient
      • @EnableFeignClient
      • @EnableZuulProxy

@Bean

注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。它是一个方法级别上的注解,主要用在@Configuration注解的类里

@Configuration

这个注解类标识这个类可以使用Spring IOC容器作为bean定义的来源。下面是@Configuration里的一个例子


这个配置就等同于之前在xml里的配置


@EnableAutoConfiguration

能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

@ComponentScan

会自动扫描指定包下的全部标有@Component的类,并注册成bean

@SpringBootApplication

这个注解相当于@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的结合


@RunWith

  • @RunWith就是一个运行器

  • @RunWith(JUnit4.class)就是指用JUnit4来运行

  • @RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境

  • @RunWith(Suite.class)的话就是一套测试集合

@SpringBootTest

进行单测试


@Autowired

这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。


这样你在userService里面要做一个userDao的setter/getter方法。但如果你用了@Autowired的话,你只需要在UserService的实现类中声明即可。

@MapperScan

要扫描mapper类包的路径,还可以扫描多个包。如:


如果mapper类没有在Spring Boot主程序可以扫描的包或者子包下面,可以使用如下方式进行配置:


@Table

常用的两个属性:

声明此对象映射到数据库的数据表,通过它可以为实体指定表(talbe)

  1. name 用来命名 当前实体类 对应的数据库 表的名字

  1. uniqueConstraints 用来批量命名唯一键
    其作用等同于多个:@Column(unique = true)

@Data

利用了lombok插件为我们加上了

  • 所有的属性的get和set方法
  • toString方法
  • hashCode方法与equals方法

@Id

@Id 标注用于声明一个实体类的属性映射为数据库的主键列该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 @Id标注也可置于属性的getter方法之前。

@GeneratedValue

存在的意义主要就是为一个实体生成一个唯一标识的主键(JPA要求每一个实体Entity,必须有且只有一个主键),@GeneratedValue提供了主键的生成策略。@GeneratedValue注解有两个属性,分别是strategy和generator,其中generator属性的值是一个字符串,默认为””,其声明了主键生成器的名称(对应于同名的主键生成器@SequenceGenerator和@TableGenerator)。


@Service

加上这一行以后,将自动扫描路径下面的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了


其作用就相当于applicationContext.xml文件里面的:


@Controller

被@Controller标记的类实际上就是个SpringMVC Controller对象,它是一个控制器类,而@Contoller注解在org.springframework.stereotype包下。其中被@RequestMapping标记的方法会被分发处理器扫描识别,将不同的请求分发到对应的接口上。


TestController即为一个自定类。在该类的前面标记@Controller,该类就成了一个控制器类。
在浏览器地址栏中输入http://localhost:8080/hello,即对hello()方法进行调用,前台返回hello.jsp界面
在这里插入图片描述

@RequestMapping

开发者需要在控制器内部为每一个请求动作开发相应的处理方法。org.springframework.web.bind.annotation.RequestMapping 注解类型指示Spring用哪一个类或方法处理请求动作,该注解可用于类和方法。
@RequestMapping可以用来注释一个控制器类,在这种情况下,所有方法都将映射为相对于类级别的请求,表示该控制器处理的所有请求都被映射到value属性所指示的路径下。示例代码如下:


@ResponseBody

@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。


@Repository

实现dao访问,用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件

@Component

把普通pojo实例化到spring容器中,相当于配置文件中的


@RestController

Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。

即@RestController是@ResponseBody和@Controller的组合注解。


与下面的代码作用一样


@RequestMapping

此注解即可以作用在控制器的某个方法上,也可以作用在此控制器类上。当控制器在类级别上添加@RequestMapping注解时,这个注解会应用到控制器的所有处理器方法上。处理器方法上的@RequestMapping注解会对类级别上的@RequestMapping的声明进行补充。


@GetMapping与 @PostMapping

都是是一个组合注解,都是@RequestMapping(method = RequestMethod.GET)的缩写。

@EnableEurekaServer

启动EurekaServer


@EnableDiscoveryClient与@EnableEurekaClient

开启客户端

  • @EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现;
  • @EnableEurekaClient注解是基于spring-cloud-netflix`依赖,只能为eureka作用;

如果你的classpath中添加了eureka,则它们的作用是一样的。

@LoadBalanced

在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力


@EnableCircuitBreaker

启动断路器

方法RestTemplate restTemplate():初始化RestTemplate 对象,并使用 @LoadBalanced作负载均衡


@EnableHystrix

启动熔断降级服务

@SpringCloudApplication

因为一个标准的Eureka服务,一般都需要@EnableDiscoveryClient、@SpringBootApplication以及@EnableCircuitBreaker三个注解,所以Spring官方提供了这个注解


@HystrixCommand

在hiService方法上加上@HystrixCommand注解。该注解对该方法创建了熔断器的功能,并指定了fallbackMethod熔断方法,熔断方法直接返回了一个字符串,字符串为”hi,”+name+”,sorry,error!”,代码如下:


@DefaultProperties

读取properties文件

如果每一个方法都提供一个熔断处理方法,那么会显的类特别的臃肿,所以我们可以提供一个通用的处理方式,也就是在类上面添加一个注解@DefaultProperties


Navicat Premium 12.1.23激活在这里插入图片描述

@HystrixProperty

设置熔断等级


@FeignClient

@FeignClient(value = “eureka-client”, configuration = FeignConfig.class)value——指明要访问的服务名称

@EnableFeignClient

我们在启动类上,添加注解,开启Feign功能


@EnableZuulProxy

通过注解开启Zuul的功能


今天的文章
Navicat Premium 12.1.23激活(微服务常用注解大全)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/115486.html

(0)
编程小号编程小号
上一篇 2024-07-20 21:46
下一篇 2024-07-20

相关推荐