读《Spring Cloud微服务全栈技术与案例解析》的笔记一
前言
建立博客站点的初心,就是为了让自己的学习更加系统化,同时也能总结出经验,也让同行中的朋友少走些弯路,多积累一些知识,系统化的掌握相关的技能。
过去的时间,再去追悔,也是于事无补。
珍惜当下,从现在开始,我会多读书,多总结,不断扩展自己的知识,不管在广度上和深度上,都要花些时间去梳理。
Spring Boot 的优点
- 基于Spring开发web应用更加容易
- 采用基于注解方式的配置,避免大量重复的XML配置
- 轻松集成Spring家族的其他框架,比如Spring JDBC,Spring Data
- 提供嵌入式服务器,开发和部署都变得非常方便
搭建Spring Boot 项目参见链接 Springboot项目从零开始之基础搭建--保姆级教程!
为了更好的去理解书中提到的技术概念,专门新建了一个工程,用于通过实践,来检验书本知识的正确性。 由于今天时间有限,暂时没有通过细节去考证技术的可行性和正确性,姑且将以下代码看做是伪代码
遇到的问题
在搭建过程中,遇见了一个问题
pom.xml project 节点报错 Cannot reconnect 详细信息为Inspects a Maven model for resolution problems
可能是由于jdk版本过低导致的,将JDK版本配置为JDK8,问题就消失了。
SpringBoot 加载配置
1.读取Environment对象值
@RestController
public class TestController{
@Autowired
private Environment env;
@GetMapping("/test")
public String test(){
String port = env.getProperty("server.port");
System.out.println("port = "+port);
return port;
}
}
2.通过Value注解注入配置信息
@RestController
public class TestController{
@Value("{server.port}")
private String port;
@GetMapping("/test")
public String test(){
System.out.println("port = "+port);
return port;
}
}
3.自定义配置类,通过prefix定义配置的层级,按层级获取配置信息
@ConfigurationProperties(prefix="com.yeegee.config")
@Component
public class YeegeeConfig{
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
读取配置代码如下
@RestController
public class TestController{
@Autowired
private YeegeeConfig yeegeeConfig;
@GetMapping("/test")
public String test(){
System.out.println("name = "+yeegeeConfig.getName());
return yeegeeConfig.getName();
}
}
多环境配置
profiles 多环境配置(通常为 dev,test,prod)
1.通过修改配置文件中的spring.profiles.active来确定运行环境 spring.profiles.active=dev
spring:
profiles:
active: dev
2.增加启动jar命令参数指定运行环境
java -jar demo.jar --spring.profiles.active=dev
actuator 监控
添加一个jar包依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
启动时我们就可以看到可以访问的后端接口列表信息
关于《Spring Cloud微服务全栈技术与案例解析》 这本书,一共有300多页的内容,从单体应用的基础到微服务的各个组件,从负载均衡到分布式事务都有非常详细的讲解,如果您对此书感兴趣,可以加我微信(yeegee2024)免费领书