SpringBoot
一 Spring Boot入门
1 简介
2.微服务
一个应用应该是一组小型服务:可以通过HTTP的方式进行互通;
每个功能元素最终都是一个可独立替换和独立升级的软件单元
3. Hello World
①创建Maven 工程(Jar)
② 导入SpringBoot相关 依赖
③编写一个主程序; 启动 Spring Boot 应用
@SpringBootApplication 注解加到类上. 来标注这是一个Spring Boot应用
④ 编写相关的Controller , Service
⑤简化部署
4. Hello World 深究
①父项目
②启动器
③主程序类,主入口类
5. 使用Spring Initializer快速创建Spring Boot 项目
IDEA 都支持使用 Spring的项目创建向导快速创建一个Spring Boot项目;
选择我们需要的模块;向导会联网创建Spring Boot 项目;
默认生成的Spring Boot项目:
*主程序已经生成好了,我们只需要我们自己的逻辑
resources 文件夹中目录结构
static: 保存所有静态资源: js css images;
templates: 保存所有的模板页面;(Spring Boot 默认 jar包使用嵌入式的Tomcat,默认不支持JSP页面); 可以使用模板引擎(freemarker, thymeleaf)
*application. properties: Spring Boot 应用的配置文件; 可以修改一些默认设置;
二.配置文件
1.配置文件
Spring Boot 使用一个全局的配置文件,配置文件名是固定的,
-
appliction.properties
-
ppliction.yml
配置文件的作用:
修改Spring Boot自动配置的默认值;Spring Boot在底层都给我们自动配置好
配置类型
YAML (YAML Alin’t Markup Language)
YAML Amarkup Language; 是一个标记语言
YAML isn’t Markup Language: 不是一个标记语言
配置例子
YAML:
server:
port:8081
XML:
<server>
<port>8081</port>
</server>
2.YAML 语法
①基本语法
k:(空格)v 表示一对键值对(空格必须用);
以空格的缩进来控制层级关系; 只要是左对齐的一类数据,都是同一层级的
server:
port: 8081
path: /hello
属性和值也是大小写敏感的;
②值的写法
字面量:普通值(数字,字符串,布尔)
k: v 字面直接来写
字符串默认不用加上单引号或者双引号
对象 Map (属性和值)
k: v 在下一行来写对象的属性和值的关系; 注意缩进
对象还是 k: v 的方式
friends:
lastName: zhangsan
age:20
行内写法:
friends:{
lastName: zhangsan,age:20}
数组(List, Set)
用 - 值表示数组中的一个元素
pets:
-Cat
-dog
-pig
行内写法:
pets:{Cat,dog,pig}
3. 配置文件值注入
配置文件
person:
lastName: hello
age: 18
boss: false
birth: 2017/02/15
maps: {
k1: v1,k2: 12}
lists:
-lisi
-zhaoliu
dog:
name: 小狗
age: 12
javaBean:
/**
*将配置文件中配置的每一个属性值,映射到这个组件中
* @ConfigurationProperties:告诉SpringBoot将本类中所有的属性和配置文件中相关信息的配置进行绑定;
* prefix = "person" 配置文件中哪个下面的所有属性进行---->映射
* 只有这个组件是容器中@Component的组件,才能容器提供的@ConfigurationProperties功能;
*/
@Component
@ConfigurationProperties(prefix="person")
public class Person{
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
}
我们可以导入配置文件处理器,以后编写配置就有提示了
<导入配置文件处理器,配置文件进行绑定就会提示>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</<optio