SpringCloud学习(SPRINGCLOUD微服务实战)一
SpringCloud学习(SPRINGCLOUD微服务实战)
springboot入门
1.配置文件
1.1可以自定义参数并在程序中使用
注解@component
@value
例如
若配置文件为application-dat.yml
book.name = spring
book.author = abc
@Component
@PropertySource(value = "classpath:/application-dat.yml")
public class Book{
@value("${book.name}")
private String bookName
@value("${book.author}")
private String bookAuthor
}
也可以用直接配置前半段配置字符。
@Component
@PropertySource(value = "classpath:/application-dat.yml")
@ConfigurationProperties(prefix = "book")
public class Book{
private String name
private String author
}
此两种方配置相同。
在配置文件中还以引用参数
book.name = spring
book.info = ${book.name} chubenshe
那么book.info 就等于 spring chubanshe
可以使用随机数
book.page = ${random,value}
由此可见springboot可以用在配置中使用一些固定的函数
1.2多环境配置
因为开发环境中需要开发, 测试,uat测试,生产各个环境运行并查问题
因此在多套环境的情况下,springboot支持配置多个文件,然后指定生效一个配置文件
例如
在资源下面写多个yaml文件
application-dat.yml 生产环境配置文件
application-self.yml;自己开发环境文件
application-test.yml;测试环境配置文件
然后在写一个总的yml 配置文件让他们生效
spring.progiles.active = dat //则你项目启动的时候使用的时候生产配置文件
1.3yaml的格式要求及格
(a)在配置文件中多一个空格都不行
(b)在冒号后面就要跟一个 空格
2.springboot 启动与测试
2.1启动
(a) springboot项目用maven install 打成jar包之后 可以用 Java -jar ***.jar的命令直接启动;
因为springboot里自带tomact。
(b)使用命令行启动,在启动时可以配置修改属性
例如
java -jar ***.jar --book.name = spring cloud
2.2测试
@RunWith(SpringJUnit4ClassRunner.class)//引入Spring对JUnit4的支
@SpringApplicationConfiguration(classes=HelloApplicationc1ass)//指定SpringBoot的启动类。
@WebAppConfiguration//开启Web应用的配置,用于模拟Servletcontext
MockMvC对象:
用于模拟调用Controller的接口发起请求,在eest定义的helo
测试用例中,perforn函数执行一次请求调用,accept用于执行接收的数据类型,
andExpect用于判断接口返回的期望值。
@Before:JUnit中定义在测试用例aret内容执行前预加载的内容,这里用来初
始化对HelloController的模拟。
注意引入下面的静态引用,让status、content、equa1To函数可用
2.3springboot数据文件加载机制
1.命令行参数
2.来自SPRING_APPLICATION_JSON的属性
3.java:comp/env中的 JNDI 属性
4.Java系统环境变量
5.操作系统环境变量
6.RandomValuePropertySource,随机值,使用random.*` 来定义
7.jar 包外的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件
8.jar 包内的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件
9.jar 包外的 Application 配置,如 application.properties 和 application.yml 文件
10.jar 包内的 Application 配置,如 application.properties 和 application.yml 文件
11.在@configuation注解修改的类中,通过@propertyssource 注解定义属性
12.应用默认属性,使用springAppliaction.setDefaultPropeorties定义的内容
数字越小,优先级越高。
此段中需要学习的额外知识
JNDI 的理解 - zhchoutai - 博客园 https://www.cnblogs.com/zhchoutai/p/7389089.html
**JNDI 把这些问题交给J2EE容器(比方weblogic)来配置和管理,程序猿仅仅须要对这些配置和管理进行引用就可以。 是为了解耦,是为了开发出更加可维护、可扩展。
J2EE 规范要求全部 J2EE 容器都要提供 JNDI 规范的实现。
3.监控与管理
下次继续。。。
SpringCloud学习(SPRINGCLOUD微服务实战)一的更多相关文章
- springcloud微服务实战--笔记
目前对Springcloud对了解仅限于:“用[注册服务.配置服务]来统一管理其他微服务” 这个水平.有待提高 Springcloud微服务实战这本书是翟永超2017年5月写的,时间已经过去了两年,略 ...
- SpringCloud Alibaba微服务实战 - 基础环境准备
Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备. 该 ...
- SpringCloud Alibaba微服务实战三 - 服务调用
导读:通过前面两篇文章我们准备好了微服务的基础环境并让accout-service 和 product-service对外提供了增删改查的能力,本篇我们的内容是让order-service作为消费者远 ...
- Spring Cloud微服务实战阅读笔记(一) 基础知识
本文系<Spring Cloud微服务实战>作者:翟永超,一书的阅读笔记. 一:基础知识 1:什么是微服务架构 是一种架构设计风格,主旨是将一个原本独立的系统拆分成多个小型服务 ...
- ASP.NET Core微服务实战系列
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注. 前言 这里记录的是个人奋斗和成长的地方,该篇只是一个系列目录和构想 ...
- 微服务实战(二):使用API Gateway - DockOne.io
原文:微服务实战(二):使用API Gateway - DockOne.io [编者的话]本系列的第一篇介绍了微服务架构模式.它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用 ...
- Spring Cloud 微服务实战笔记
Spring Cloud 微服务实战笔记 微服务知识 传统开发所有业务逻辑都在一个应用中, 开发,测试,部署随着需求增加会不断为单个项目增加不同业务模块:前端展现也不局限于html视图模板的形式,后端 ...
- go-zero微服务实战系列(十一、大结局)
本篇是整个系列的最后一篇了,本来打算在系列的最后一两篇写一下关于k8s部署相关的内容,在构思的过程中觉得自己对k8s知识的掌握还很不足,在自己没有理解掌握的前提下我觉得也很难写出自己满意的文章,大家看 ...
- 微服务实战系列--Nginx官网发布(转)
这是Nginx官网写的一个系列,共七篇文章,如下 Introduction to Microservices (this article) Building Microservices: Using ...
随机推荐
- python——flask常见接口开发(简单案例)
python——flask常见接口开发(简单案例)原创 大蛇王 发布于2019-01-24 11:34:06 阅读数 5208 收藏展开 版本:python3.5+ 模块:flask 目标:开发一个只 ...
- Error resolving template “pages”, template might not exist or might not be accessible by any of the configured Template Resolver 或者 springboot使用thymeleaf时报html没有结束标签
application.properties配置文件 spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.ht ...
- C语言Ⅰ|博客作业07
这个作业属于哪个课程 C语言程序设计Ⅰ 这个作业要求在哪里 https://www.cnblogs.com/tongyingjun/p/11809219.html 我在这个课程的目标是 熟练掌握swi ...
- BZOJ 3895 3895: 取石子 / Luogu SP9934 ALICE - Alice and Bob (博弈 记忆化搜索)
转自PoPoQQQ大佬博客 题目大意:给定n堆石子,两人轮流操作,每个人可以合并两堆石子或拿走一个石子,不能操作者输,问是否先手必胜 直接想很难搞,我们不妨来考虑一个特殊情况 假设每堆石子的数量都&g ...
- STL中的BITSET运用
胡小兔的OI博客C++ bitset 常用函数及运算符 对于一个叫做foo的bitset: foo.size() 返回大小(位数) foo.count() 返回1的个数 foo.any() 返回是否有 ...
- 【转载】最小生成树之Kruskal算法
给定一个无向图,如果它任意两个顶点都联通并且是一棵树,那么我们就称之为生成树(Spanning Tree).如果是带权值的无向图,那么权值之和最小的生成树,我们就称之为最小生成树(MST, Minim ...
- css让文字,字母折行
加上如下的CSS设置,就是设定好宽度width,然后设置合适的word-wrap和word-break属性: ul li{ width: 100px; word-wrap: break-word; w ...
- [vbs]脚本启动
Set ws = CreateObject("Wscript.Shell") ws.run "cmd.exe /c start tool.exe config_tence ...
- chrome获取xpath元素-f12工具
Chrome浏览器获取XPATH的方法----通过开发者工具获取 引用源:https://blog.csdn.net/li6727975/article/details/46126079 版权声明 ...
- RHEL防火墙命令
firewall-cmd --state 查看防火墙状态 firewall-cmd --reload #重启firewall systemctl stop firewalld.service #停止f ...