1.dev含义
spring:
profiles:
active: dev
含义是指定当前项目的默认环境为 dev,即项目启动时如果不指定任何环境,Spring Boot 会自动从 dev 环境文件中读取配置信息。
2.注解:
1)main上面的注解
@SpringBootApplication :告诉spring boot这个类是程序的入口,没有这个注解程序无法启动
上面注解包含以下三个
@SpringBootConfiguration :Spring Boot 的配置注解
@EnableAutoConfiguration :自动配置
@ComponentScan:Spring Boot 扫描 Bean 的规则,比如扫描哪些包
@EnableEurekaServer:标注该应用程序是一个注册中心
@EnableEurekaClient:该项目是一个服务提供者
@EnableZuulProxy:该项目是zuul服务中转
@EnableFeignClients:表明使用 Feign 声明式 HTTP 客户端
@EnableHystrixDashboard:启用Dashboard,监控 Hystrix Command 的响应时间、请求成功率等数据。
@EnableCircuitBreaker:启动熔断器
@EnableConfigServer:表明该项目是配置中心
@EnableZipkinServer:Zipkin服务端
2)其他注解
@Value :先看代码
@Value("${server.port}")
String port;
@RequestMapping("/hello")
public String home(String name) {
return "hi "+name+",i am from port:" +port;
}
server.port 就是我们在 application.yml 里面定义的属性,我们可以自定义任意属性名,通过@Value 注解就可以将其取出来。
@RefreshScope:手动刷新接口时,刷新此接口
3.类的注入
1.创建一个普通实体类(含有Build)
2.@SpringBootConfiguration
注解的类添加如下代码:
@Bean
public Aliyun aliyun(){
return Aliyun.options()
.setAppKey(appKey)
.setAppSecret(appSecret)
.setBucket(bucket)
.setEndPoint(endPoint)
.build();
}
Aliyun为实体类名
3.最后在需要的地方注入这个 Bean 即可:
@Autowired
private Aliyun aliyun;
4.名词解释
Eureka:服务发现模块
zuul:服务网关,它提供微服务的网关功能,即中转站,通过它提供的接口,可以转发不同的服务。作用就是进行路由转发、异常处理和过滤拦截。
Feign:只需要创建一个接口并注解,就能很轻松的调用各服务提供的 HTTP 接口。
Hystrix :实现了熔断器模型。在实际项目中,一个请求调用多个服务是比较常见的,如果较底层的服务发生故障将会发生连锁反应。这对于一个大型项目是灾难性的。因此,我们需要利用 Hystrix 组件,当特定的服务不可用达到一个阈值(Hystrix 默认5秒20次),将打开熔断器,即可避免发生连锁反应。
Spring Cloud Bus:消息总线。用于实现在集群中传播一些状态变化(例如:配置变化),它常常与 Spring Cloud Config 联合实现热部署。
Zipkin :主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时等问题。
Atomikos :为 Java 平台提供增值服务的开源类事务管理器。
5.提升网络安全的方式
- 采用 HTTPS 协议;
- 密钥存储到服务端而非客户端,客户端应从服务端动态获取密钥;
- 请求隐私接口,利用 Token 机制校验其合法性;
- 对请求参数进行合法性校验;
- 对请求参数进行签名认证,防止参数被篡改;
- 对输入输出参数进行加密,客户端加密输入参数,服务端加密输出参数。