关于@SpringCloudApplication和@SpringBootApplication注解

标注在启动类上
@configuration 类似于ssm的 被@SpringBootApplication包含

@ComponetScan 加载与xxapplication文件同级目录的文件夹下的文件

被@SpringBootApplication包含

@EnableCaching  开启缓存

@SpringBootApplication	应用开启入口  

@springCloudApplication 应用开启入口 比@SpringBootApplication更强大
@EnableEurekaClient开启eureka客户端 可以调用在eureka注册的服务
@EnableDiscoveryClient	不仅可以开启eureka客户端,还有consul、zookeeper

@EnableEurekaServer	开启eureka服务端 类似于注册中心zookeeper
@EnableFeignClients 开启负载均衡  包装了Ribbon

@EnableHystrix	开启容错保护

@EnableZuulProxy	开启网关代理

@MapperScan("com.xxx.user.mapper")  扫描mapper包,可以直接注入

标注在启动类的resttempalte方法上(负载均衡)
@Bean 标注注册一个javabean 类似ssm框架的
@LoadBalanced 开启负载均衡(客户端) 配合@EnableFeignClients

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

标注在service方法
@HystrixCommand(fallbackMethod = “login”) 容错保护,配合@EnableHystrix

@Cacheable(value = "key" ) redis库的value就是你的返回值

标注在mapper方法上
@mapper 标注后可以直接注入该类,建议使用@mapperScan
配置文件使用的是application.yml格式文件注意每个空格一定要对齐 建议使用这个文件比properties好用

eureka:
client:
 service-url:
   defaultZone: http://localhost:8761/eureka  注册的地址
 register-with-eureka: false	     是否注册,一般不用这个
server:	     服务端
 enable-self-preservation:false   关闭自动保护,别关这个很有用

spring:
application:
 name: user	     注册到服务中心的应用名
datasource:	     配置的数据源,默认好像是druid
 driver-class-name: com.mysql.jdbc.Driver
 username: root
 password: 123456
 url: jdbc:mysql://localhost:3306/cloud
redis:    	redis配置
 host: 6379
 port:127.0.0.1
mvc:
 view:
   prefix:/WEB-INF/jsp
   suffix:.jsp

server:	     设定的tomcat启动端口
port: 8080
servlet-path:*.html	      与ssm中的过滤路径相同
mybatis:	      mybatis的配置文件读取
config-location: classpath:mybatis/mybatis-config.xml
mapper-locations: classpath:mybatis/mappers/*Mapper.xml

zuul:	      网关路由
routes:
  sso:	      自己手写,随便写建议和工程一样
     path: /sso/**	      对外暴露,过滤的的路径
     server-id : sso	      注册到服务的application name

默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销实例(默认90秒)。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,以上行为可能变得非常危险-----因为微服务本省其实是健康的,此时不应该注销这个微服务。
Eureka通过“自我保护模式”来解决这个问题------当Eureka Server节点在短时间内丢失过多客户端时(可能发生网络分区故障),那么这个节点就会进入自我保护模式。一旦进入自我保护模式,Eureka Server就会保护服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。当网络故障恢复后,该Eureka Server节点会自动退出自我保护模式。
综上,自我保护模式是一种应用网络异常的安全保护措施。它是宁可同时保留所有微服务(健康的和不健康的),也不盲目注销任何健康的服务。使用自我保护模式,可以让Eureka集群更加健壮、稳定。
在Spring Cloud中可以使用eureka.server.enable-self-preservation=false禁用自我保护模式。

@SpringCloudApplication时一个注解的集合
使用@SpringCloudApplication包括,Springboot注解,注册服务到注册中心注解,熔断器注解。在SpringCloud看来这是每一微服务所必须应有的三个注解,所以才推出了@SpringCloudApplication注解。

使用@SpringCloudApplication需要进入Springboot依赖外,还需要引入

 
  <!--将微服务注册到注册中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!--@SpringCloudApplication注解需要依赖的  熔断器  -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
发布了26 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42643690/article/details/88221523
今日推荐