一 创建SpringBoot项目
1.1普通创建springboot项目
1.1.1步骤
- 目标:手动搭建一个SpringBoot开发环境,实现Web的请求响应,浏览器访问在页面中输出helloworld
- 实现步骤 :
- 创建Maven工程
- pom.xml文件中配置起步依赖
- 编写SpringBoot启动引导类
- 编写Controller
- 访问http://localhost:8080/hello 测试
1.1.2具体操作
1.创建Maven工程: 略
2.pom文件中配置起步依赖
在pom文件中添加以下内容
<!--继承一个pom文件-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.1.6.RELEASE</version>
</parent>
<dependencies>
<!--添加这个依赖意思是我要做web开发-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.编写SpringBoot启动引导类
main的java文件夹下,创建类com.hhu.DemoApplication
注意添加注解时如果红线,则点开右侧maven,刷新即可。如遇到不可刷新,则参照我的一篇记录,更换镜像服务器即可
@Configuration // 代表当前类是一个配置类
@ComponentScan //扫描包
@EnableAutoConfiguration //开启自动配置
public class DemoApplication {
public static void main(String[] args) {
//启动当前SpringBoot应用
SpringApplication.run(DemoApplication.class,args);
}
}
4.编写Controller
注意:同一文件夹下创建 controller.HelloController类
@RestController
public class HelloController {
@RequestMapping("/hello") //提示路径用的
public String hello(){
return "hello world!";
}
}
5.访问结果
1.2急速创建springboot项目
1.步骤
- 使用Spring Initializr创建Spring Boot
- 配置项目信息
- 勾选起步依赖
- 配置文件存储路径
- 再次编写入门案例Controller
- 访问http://localhost:8080/hello 接口测试
2.具体操作
1.使用Spring Initializr创建Spring Boot(必须联网)
2.略
3.略
4.略
勾选spring web 这个starter
5.编写Controller,同上
6.测试结果
1.3热部署
略,具体到时候用到再学
二 SpringBoot原理分析
2.1 依赖管理原理
依赖管理(Dependency Management0
- 继承了
spring-boot-starter-parent
的好处和特点- 默认编译java 1.8
- 默认编码UTF-8
- 通过
spring-boot-dependencies
的pom管理所有公共依赖的版本,这样就不用写依赖的版本了
2.2 starter原理
starters是依赖关系的整理和封装,是一套依赖坐标的整合,可以让导入应用开发的依赖坐标更方便。
有了这些Starters,你获得Spring和其整合的所有技术的一站式服务。无需配置、无需复制粘贴依赖坐标,一个坐标即可完成所有入门级操作。举例:JPA or Web开发,只需导入spring-boot-starter-data-jpa
或spring-boot-starter-web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
每个Stater包含了当前功能下的许多必备坐标依赖,这些依赖坐标是项目开发,上线和运行必须的。同时这些依赖也支持依赖传递。
2.3 自动配置原理
太繁琐,而且对使用springboot没有帮助,略
2.4 配置文件
SpringBoot是约定大于配置的,所有很多配置都有默认值。
可以使用application.properties或application.yml自定义配置
第一种配置方法
示例
1.在resources下创建application.yml文件
(底色是黄色,代表没有映射过去)
#普通数据类型
username1: yufengxu
#对象
person:
name: yufengxu
age: 18
sex: male
birthday: 1997/1/1
# 数组
citys:
- beijing
- xizang
- nanjing
# 集合
animals:
- name: dog
age: 2
- name: tiger
age: 3
server:
port: 8080
2.注入数据
例:将person.name注入到HelloController里
@RestController
public class HelloController {
@Value("${person.name}")
private String name;
@RequestMapping("/hello")
public String hello(){
return "I really wanna be a excellent programmer!"+"\n"+name;
}
}
3.效果如下
第二种配置方法
示例:
在java的com.hhu.***包下创建 domain.Person和domain.Animal
Person
@ConfigurationProperties(prefix = "person")
@Component //把当前的对象注入Spring容器中
public class Person {
private String name;
private Integer age;
private String sex;
private Date birthday;
private String[] citys;
private List<Animal> animals;
下面Fn+alt+insert一键插入 所有的getter&setter 和toString方法
}
Animal
public class Animal {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Animal{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
HelloController
@RestController
public class HelloController {
@Value("${person.name}")
private String name;
@Autowired //把该对象注入Controller中
Person person;
@RequestMapping("/hello")
public String hello(){
return ""+person;
}
}
对于注解@ConfigurationProperties飘红:
解决方法:在依赖中加入配置文件处理器的坐标即可
<!--配置文件处理器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
效果展示
三 SpringBoot与其他技术整合
3.1 整合Mybatis
使用SpringBoot整合Mybatis,完成查询所有功能
实现步骤:
- 创建SpringBoot工程
- 勾选依赖坐标
- 数据库连接信息
- 创建User表,创建实体UserBean
- 编写三层架构:Mapper,Service,Controller,编写查询所有的方法
- 配置Mapper映射文件
- 在application.properties中添加MyBatis配置,扫描mapper.xml和mapper
- 访问测试地址http://localhost:8080/queryUsers
1.创建工程
2.勾选依赖信息
3.数据库连接信息
略