程序化
Spring Boot约定大于配置。
微服务:微服务(Microservices)—Martin Flower_luoru的博客-CSDN博客
1. 第一个Spring Boot程序
jdk:1.8
maven:3.6.1
springboot :最新
IDEA
官方提供一个快速生成的网站,idea集成了这个网站。
可以再官网直接下载后,导入idea开发(https://start.spring.io/)
可以使用idea创建一个springboot项目(一般开发直接再idea中创建)
idea创建springboot项目:
package com.zeng.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/hello")
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "hello";
}
}
#更改项目端口号
server.port=8080
banner:Spring Boot banner在线生成工具,制作下载banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.net
原理初探
pom.xml
spring-boot-dependencies:核心依赖,在父工程中
我们在写或者引入一些springboot依赖的时候,不需要指定版本,就是因为有这些版本仓库。
启动器
<!--启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
启动器:说白了就是springboot的启动场景
比如spring-boot-starter-web,它就会自动帮我们导入web环境所有的依赖。
springboot会将所有的场景功能都变成一个一个的启动器
我们需要什么功能,就只需要找到对应的启动器就行了。
注解
获取候选的配置:
1.springboot在启动的时候,从类路径下/MATE-INF/spring.factories获取指定的值
2.将这些自动配置的类导入容器,自动配置类就会生效,帮我们自动配置
3.以前我们需要自动配置的东西,现在springboot帮我们做了
4.整合javaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure-2.2.0.RELEASE.jar这个包下
5.它会把所有需要导入的组件,以类命的方式导入,这些组件就会添加到容器中
6.容器中也会存在非常多的xxxAutoConfigure的文件,就是这些类给容器中导入的这个场景需要的所有组件,并自动配置。@Configuration ,javaConfig
7.有了自动配置类,就免去了我们手动编写注入功能组件等功能。
关于springboot谈谈你的理解:
1.自动装配
2.run();
1.推断应用的类型是普通项目还是Web项目
2.查找并加载所有可用初始化器,设置到initializers属性中
3.找出所有的应用程序监听器设置到listeners属性中
4.推断并设置main方法的定义类,找到运行的主类
配置文件
springboot使用一个全局的配置文件,配置文件名称是固定的
application.properties