@RestController
@Autowired
//当标注的属性是接口时,其实注入的是这个接口的实现类, 如果这个接口有多个实现类,只使用@Autowired就会报错,因为它默认是根据类型找,然后就会找到多个实现类bean,所有就不知道要注入哪个。然后它就会根据属性名去找。所以如果有多个实现类可以配合@Qualifier(value=“类名”)来使用
@Component
@RequestMapping("/greeting")
@RequestParam String name
@Service
@Bean
//产生一个由Spring容器管理的bean
@MapperScan("com.roncoo.eshop.mapper")
@ConfigurationProperties(prefix="spring.datasource")
@RabbitListener(queues = "data-change-queue")
//注解是指定某方法作为消息消费的方法,例如监听某 Queue 里面的消息。
@SpringBootApplication(@EnableAutoConfiguration+@ComponentScan)
@EnableEurekaServer
//在项目启动类上使用@EnableEurekaServer,可以将项目作为SpringCloud中的注册中心。
@EnableEurekaClient
//springcloud @EnableEurekaClient 和 @EnableDiscoveryClient 的作用都是能够让注册中心发现、并扫描到该服
//@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心。
@EnableDiscoveryClient
//springcloud 用来注册服务或连接到如Eureka之类的注册中心
@EnableFeignClients
//springcloud
@FeignClient(value = "say-hello-service" fallback = SayHelloServiceFallback.class)
//springcloud value 指定服务名来绑定服务,这里的服务名字不区分大小写
//fallback 熔断降级
@LoadBalanced
//springcloud 在使用 RestTemplate调用远程地址时,会走负载均衡器
@EnableZuulProxy
//springcloud @EnableZuulProxy简单理解为@EnableZuulServer的增强版, 当Zuul与Eureka、Ribbon等组件配合使用时,我们使用@EnableZuulProxy
@EnableHystrix
//springcloud 启动熔断降级服务
@EnableHystrixDashboard
//springcloud Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面
@EnableCircuitBreaker
//springcloud 启用断路器 必须使用该注解
@EnableTurbine
//springcloud 开启Turbine服务,提供多服务集群监控数据收集
@EnableConfigServer
//使springcloud具备 Config Server 功能
@RabbitListener(queues = "data-change-queue")
//监听指定的队列
@RabbitHandler
//指定消息处理的方法