Spring Boot 学习 基础

一. Spring Boot 入门

1.springBoot简介:SpringBoot框架通过整合整个技术栈(springFramework,springData,SpringCould分布式…)来帮助J2EE企业级开发,简化应用,开发底层还是spring,但其约定大于配置。
微服务(是一个架构样式):相对于传统的单体应用(所谓单体应用就是我们以前做的项目将项目打成war包放到服务器tomcat上运行 服务器运行不过来就通过负载均衡的方式放到多个服务器中运行)相对来说,微服务侧重将每一个模块化,拆分细小化,再通过(HTTP进行连接)功能元素的动态组合实现优化
2.编写简单的HelloWord程序
第一步:导入相关的坐标依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
spring-boot-starter 场景启动器 帮我们导入了springweb相关的依赖组件

所以我们需要用到哪个场景就需要导入相应的场景启动器
第二步:编写一个主程序配置相应的注解开启springBoot
Spring Boot 学习 基础_第1张图片
springBoot中 @SpringBootApplication注解标志在哪个类上 这个类就是springBoot的主配置类。
第三步:编写controller
Spring Boot 学习 基础_第2张图片

第四步:在main程序运行即可
第五步:简化部署

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
在target找到打包成jar包的目标文件 复制 放在桌面上
进入该文件路径 输入java -jar 加上springBoot文件名字就能运行了

3.原理分析
@SpringBootApplication注解 他帮我们集成了各种东西
快速创建springBoot项目
第一步 创建Spring Initializer 选择自己要创建的项目需要的场景启动器 创建项目 可以选择删掉一些没用的文件 当我们创建完时 他已经会帮我们导入pom.xml文件相关内容以及含有注解的主程序
第二步:我们需要写controller类 介绍个注解 @RestController 它集成了@Controller和@ResponseBaby (加载类上表示这个类的所有方法都会访问浏览器 如果是对象还能转为json数据)
第三步:介绍一下创建的springBoot的目录结构
static目录是放静态资源的 比如css js plugins pages
templates目录是放置模板引擎的(springboot默认是打jart包的 默认支持嵌入式tomcat) 这个放不了jsp 所以可以添加的的jsp模板为(freemaker,thymeleaf)
application.propertise目录:springBoot的配置文件 可以修改默认配置

二. Spring Boot 配置

1.配置文件名字都是 application.propertise,application.yml
其次YMAL是一门以数据为中心的标记语言 比xml和json更为符合作为配置文件
2.YMAL的基本语法
是一个注重空格的配置文件 左对齐表示同一层级
第一种:字面值
Spring Boot 学习 基础_第3张图片
第二种:map集合
这里的server是key address和port是值的同时也是key
在这里插入图片描述
第三种:list和数组
键值对是用 — 来进行隔开的 cat、dog、tigger属于同一级
Spring Boot 学习 基础_第4张图片
3.配置文件值注入
第一步:需要创建Javabean指定相应的属性值
第二步:需要在application.yml 配置与javabean相对应的键值对 注意空格语法
第三步:在Javabean类上加上@ConfigerationProperties注解并且指定prefix的值(这个值是与yml文件对应的) 接着要在@ConfigerationProperties上加上@Component注解表示将这个类交给spring容器管理。
第四步:在已创建的test方法上将实体类Javabean注入到容器中@Autowire 最后在方法体中输出
4.@ConfigurationProperties与@Value区别 注意SpEL表达式为#{}
Spring Boot 学习 基础_第5张图片
JSR303数据校验的注解为@Validated 例如email校验 要写成@Email格式 然后会以email格式去校验
5.@PropertyResource(value=“{classpath=person.properties}”)让springBoot加载不是application.properties外的配置文件
@ImportResource(locations="{classpath:bean.xml}") 这是为了让spring配置文件生效

给容器中添加组件
Spring Boot 学习 基础_第6张图片
Spring Boot 学习 基础_第7张图片5.profile的多环境支持
第一种是可以在多个配置环境下制定不同的模式值 比如端口号 dev开发模式,prod生产模式,以及默认模式 我们可以设定他的激活方式
第二种是在yml配置文件下配置 分模块化指定块部分 它是用—进行分块的

第一种激活方式是直接激活配置spring.proifiles.active=dev
第二种激活版方式是命令行激活 在运行处配置参数-spring.profiles.active=dev
第三种是虚拟机配置 同样 在运行处找到VM option的地方配置 -Dspring.profiles.active=dev
6.配置文件加载位置
Spring Boot 学习 基础_第8张图片
Spring Boot 学习 基础_第9张图片
补充一下排名第一的命令行参数 --server.port:8080 可以在terminal下直接输入

8.springBoot的自动配置原理
Spring Boot 学习 基础_第10张图片
Spring Boot 学习 基础_第11张图片
Spring Boot 学习 基础_第12张图片
9.springBoot使用的精髓
一.springBoot启动会加载大量的配置类
二.我们要看我们需要的功能是否有springBoot自动配置好的(默认写好的)
三.我们再来看这个配置类配置了那些组件(只要我的需要的组件有我们就不需要再进行配置了)
四.给容器中自动配置类添加组件的时候,会从properties中获取某些属性,我们可以指定这些配置文件属性的值。
Spring Boot 学习 基础_第13张图片
我们可以在application.properties中输入debug=true 这时候启动的时候就会在控制台告诉我们哪些组件生效。

你可能感兴趣的:(Spring Boot 学习 基础)