摘要:
首先说明一点: spring规范下使用@GetMapping等注解的接口与jax-rs规范下使用@Path+@GET等注解的接口不能混用,否则导致一方无效. spring规范下使用@GetMapping等注解的接口生成并下载Excel文件: 主要有一步: 创建接口 import org.apache 阅读全文
摘要:
服务降级就是当目标服务不可用时,调用备选服务的一种策略 在学习服务降级过程中,文章是从微服务间的调用超时可能会引起服务雪崩效应切入的 通过一段时间的使用和理解,发现服务降级并非只用在微服务之间的调用中,而是更大范围的调用 比如: 在一个应用中,如果目标A服务不可用,直接就可以退而求其次,调用B服务, 阅读全文
摘要:
今天偶然在网页留言上发现,有人说用@Autowired 可以注入bean到声明的map中,当时我还不信,怎么可能呢,@Autowired只用过向定义的类型中注入bean,map跟bean非亲非故,怎么会注入那些实例,于是试验了一下,果然灵验 @Autowiredprivate Map<String, 阅读全文
摘要:
传统的多分支方式(圈复杂度为6): public String order(String type) { if ("1".equals(type)) { return "1"; } else if ("2".equals(type)) { return "2"; } else if ("3".equ 阅读全文
摘要:
要想实现配置刷新,首先得有项目基础结构 项目一: 注册中心 项目二: 配置中心 项目三: 客户端 先启动注册中心 然后启动配置中心 然后在不同端口启动客户端的多个实例,这些实例都是通过bootstrap.properties连接到配置中心后,加载相应配置后启动的. 成功完成上述基础设施,才开始关注配 阅读全文
摘要:
默认情况下,SpringCloud Config使用的是远程的仓库,所以默认要配置uri 如果不想使用远程仓库,而使用本地仓库,需要做以下配置: spring.profiles.active=native spring.cloud.config.server.native.search-locati 阅读全文
摘要:
主要有以下4点: 1. 配置刷新是SpringCloud Config的功能,但被刷新的是普通的微服务应用 2. 微服务应用引入spring-boot-starter-actuator依赖, 为配置刷新提供支持,核心是给应用增加一个refresh接口 3. 在需要刷新配置的bean的类上添加@Ref 阅读全文
摘要:
访问如下接口时: @GetMapping("/get/{name}") public String get(@PathVariable("name")String name){ return name; } 如果这样请求: http://localhost:1000/get/server.port 阅读全文
摘要:
1. Java8自带无限制加密解密算法, 不需要再引入网上说的那俩包 2. 加密解密是SpringCloud Config的功能, 所以必须先启动一个SCC项目 3. 在SCC项目的配置文件中添加加密解密的钥匙: 密钥 > encrypt.key=xuejian 4. 启动SCC项目,通过http: 阅读全文
摘要:
相同点: 1. 两者的占位符都长一样,都是${} 2. 两者都是占位符,都有替换为真实值的意图 不同点: 1. spring的占位符替换发生在运行阶段,编译时不替换 2. maven的占位符替换发生在编译阶段,比spring的要早替换. 阅读全文