-
javase: OOP
-
html+css+js+jquery+框架
-
javaweb: 独立开发MVC三层架构
-
SSM: 框架 简化开发流程
-
war:tomcat运行
-
-
spring在简化 : SpringBoot: 微服务架构
-
SpringBoot-jar 内嵌tomcat
-
-
springCloud
-
Linux
SpringBoot初识
-
是什么
-
配置编写 yaml
-
自动装配原理
-
集成业务开发:
-
集成数据库
-
分布式开发: Dubbo(RPC)+zookeepar
-
swagger:接口
-
任务调度
-
SpringSecrity/Shiro
springcloud初识
-
微服务
-
springcloud入门
-
Restful
-
Eureka
-
Ribbon
-
Feign
-
HyStrix
-
Zuul路由网关
-
SpringCloud config : git
SpringBoot
-
简化web项目
-
约定大于配置
微服务架构
-
模块化
-
功能独立
环境
jdk1.8
maven 3.6.1
springboot
idea
-
创建项目
-
查看主程序 底层就是一个组件
-
查看包
<dependencies>
<!-- 启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- web依赖 启动tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
-
springboot banner
下载banner.txt
自动装配原理
pom.xml
存放这依赖 父依赖中版本管理 所以我们加入依赖的时候不需要指定版本
启动器 需要什么就导入什么的启动器 不日需要web 就导入spring-boot-starter-web
会自动导入web所需的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
-
springboot会将所有的功能场景, 都变为一个启动器
-
我们需要使用什么功能, 就需要引入对应的启动器 starter
主程序
注解
-
springboot所有的自动配置都是在启动的扫描并加载:
-
spring.factories所有的配置类都在这里
-
当是不一定生效, 要判断条件是否成立
-
只要导入 对应的starter, 就有了对应的启动器
-
有了启动器, 我们自动装配就会生效
-
然后就配置成功了
-
-
springboot在启动的时候, 从类路径下的/META-INF/spring.factories获取指定的值
-
将这些自动配置的类导入容器, 自动配置就会生效, 帮我们进行配置
-
以前我们需要自动配置的东西, 现在springboot帮我们做了
-
整合javaEE, 解决方案和自动配置的东西都在spring-boot-autoconfigure-2.3.0.RELEASE.jar包下
-
它会把所有需要导入的组件, 以类名的方式返回, 这些组件就会被添加到容器中
-
容器中也会存在非常多的xxxAutoConfiguration的文件(@Bean), 就是这些类给容器中导入了这个场景需要的所有组件, 并自动配置, @Configuration javaConfig
-
有了自动配置类, 免去了我们手动编写配置文件的工作
启动类如何运行
-
run
-
开启了一个服务
四件事情
-
推断应用的类型时普通的项目还是web项目
-
查找并加载所有可用的初始化器, 设置到initializers属性中
-
找出所有的应用程序监听器, 设置到listeners属性中
-
推断并设置main方法的定义类, 找到运行的主类
关于springboot
-
自动装配
-
判断是普通项目还是web项目
-
推断主类
-
run
-
run里的监听器
-
获取上下文处理bean
-
Yaml
-
基本语法
-
支持随机属性值语法(#{random.uuid},#{random.int})
-
支持松散绑定(类属性名: firstName 配置名: first-name: 旺财)
-
JSR303校验
# springboot到底能配置写什么
# 官方配置太多, 简化理解原理
# 注意空格
# 普通key-value
name
-
类赋值
package com.cyz.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
package com.cyz.pojo;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;