# 历史演变

# 单一应用架构

当网站流量很小时,只需要一个应用,所有的功能都部署在一起,以减少部署节点和成本,此时,用具简化增删改查工作量的数据访问框架 (ORM) 是关键

# 垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率,此时,用于加速前端页面开发的 Web 框架(MVC)是关键

# 分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,主键形成稳定的服务中心,是前端应用能更快速的相应多变的市场需求,此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键

# 流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键

# 微服务的框架

# dubbo

# Spring-Cloud

一个项目可以由多个小型服务构成(微服务)

# 绑定

@Component// 将此 bean 注入到 spring 容器中
@ConfigurationProperties (prefix = “student”) // 去配置文件里面找 student
还可以在字段里面 @Value (“zs”) 注入属性
ConfigurationProperties Value
@PropertySource (value = {“classpath:conf.properties”})// 可以指定非默认文件里面的值,只能加载 properties,不能加载 yaml

区别:
                批量注入        单个注入
松散语法         支持            不支持 
SPEL            不支持           支持    
数据校验         支持            不支持
注入复杂类型     支持             不支持
简单类型(8个基本类型+String+Date)

# yaml

student:
name: zs
age: 23
sex: true
birthary:2019/10/12
//map 类型
location: {province: 陕西,city: 西安,zone: 莲湖区}
// 数组或集合类型
hobbies: [足球,篮球]
skills: [编程,金融]
// 对象类型
pet: {nickname: wc,strain: hsq}// 写成一行的叫行内写法
nickname: wc
strain: hsq

# note:

//map 里面可以加双引号里面可以实现转义字符,不加的话就是原样输出
中括号可以省,大括号不能省略
yaml 每一个冒号后面必须跟一个空格

数组还可以写成lication: 
                provience: 陕西
                city: 西安
                zone: 莲湖区

# springboot 全局配置文件中的 占位符表达式

1. 随机数 ${random.uuid} 等
2. 引用变量值

student: 
    uname: x
    name: ${student.user.name}

引用的实际变量是 properties 中的 student.user.name=zs

# 多环境的切换

1.properties
默认 boot 会读取 application.properties
有开发,测试环境,命名的不同的 properties 文件名,指定 spring.profiles.active=test

# 动态的配置环境

i: 命令行方式:–spring.profiles.activr=test
ii: 通过 vm 指定参数:STS (Eclipse): Run Configuration - Argument - VM -Dspring.profiles.active = 环境名

# 配置文件的位置:项目内部的配置文件

properties 和 yml 中的配置,相互补充,如果有冲突,则优先读取 properties 文件

# 可以存在的位置

file: 项目根目录 /config
file: 项目根目录 /
classpath: 项目根目录 /config
classpath: 项目根目录
如果冲突,则优先级从上往下
如果不冲突,则互补结合使用

# 项目外面的配置文件

# 项目运行参数 --sever.port=8882

# springboot 默认的日志框架是 slf4j 和 logback

# Springboot 整合 JSP 开发

之前的 springboot 默认 自带一个内置的 tomcat, 不需要打 war 包,直接通过 jar 运行

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
    </dependency>

provided 的意思是将项目打包时,不需要将内置的 tomcat 一起打包

建立基本的 webapp/WEB-INF/

阅读次数

请我喝[咖啡]~( ̄▽ ̄)~*

Zhouy 支付宝

支付宝

Zhouy 宝贝不是paypal

宝贝不是paypal

Zhouy 微信支付

微信支付