1. Spring Boot概述
目标:了解Spring Boot是什么,有什么作用
小结:
Spring Boot是一个便捷搭建 基于spring工程的脚手架;作用是帮助开发人员快速搭建大型的spring 项目。尽可能的减少一切xml配置,做到拆箱即用,简化工程的配置,依赖管理;实现开发人员把时间都集中在业务开发上。
1.1springboot特点
Spring Boot 主要特点是:
创建独立的Spring应用,为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验
直接嵌入应用服务器,如tomcat、jetty、undertow等;不需要去部署war包
提供固定的启动器依赖去简化组件配置;实现开箱即用(启动器starter-其实就是Spring Boot提供的一个jar包),通过自己设置参数(.properties或.yml的配置文件),即可快速使用。
自动地配置Spring和其它有需要的第三方依赖
提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等
绝对没有代码生成,也无需 XML 配置。
1.2 springboot的核心功能
·起步依赖
起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。
简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。
·自动配置
Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。
2. Spring Boot快速入门
目标:能够使用Spring Boot搭建项目
分析:
需求:可以在浏览器中访问http://localhost:8080/hello输出一串字符
实现步骤:
- 创建maven工程;
- 添加依赖(启动器依赖,spring-boot-starter-web);
添加父工程坐标
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
</parent>
添加web启动器
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 创建启动类;
@SpringBootApplication//这个配置告诉springboot这个类是工程的启动的入口
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class);
}
}
- 创建处理器Controller;
@Controller
public class QuickController {
@RequestMapping("/quick")
@ResponseBody//如果想要页面返回字符串就必须添加responseBody,
// 不加则会去找对应网页名字的网页
public String quick(){
return "hello SpringBoot";
}
}
- 测试
springboot热部署的配置
导入依赖坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
在idea中设置自动编译:
首先ctrl+alt+s打开设置(Other Settings 的设置是对整个工作空间项目都启作用,而Settings…的设置是对整个项目启作用),搜索Compliler,勾选Build project automatically,如下图所示:
.按住ctrl + shift + alt + /,出现如下图所示界面,点击Registry…,如下图:
点击进入后,勾选compiler.automake.allow.when.app.running后关闭即可
通过以上步骤,就完成了SpringBoot项目的热部署功能!!!
快速创建springboot项目方式二
在依赖中选择自己需要的依赖,springboot会自动帮助我们添加好我们所需要的依赖坐标
小结:
Spring Boot工程可以通过添加启动器依赖和创建启动引导类实现快速创建web工程。
spring-boot-starter-web默认的应用服务器端口是8080
3.SpringBoot配置文件类型
3 .1.1SpringBoot配置文件类型和作用
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用applidation.properties或者application.yml (applicationlyaml)进行配置。
SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件
其中,application.properties文件是键值对类型的文件,之前一直在使用,所以此处不在对properties文件的格式进行阐述。除了properties文件外,SpringBoot还可以使用yml文件进行配置,下面对yml文件进行讲解。
3.1.2 application.yml配置文件
3.1.2.1 yml配置文件简介
YML文件格式是YAML(YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如:CIC++,Ruby,Python,Java,Perl,C#,PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
YML文件的扩展名可以使用.yml或者.yaml
3.1.2.2 yml配置文件语法:
key: value; (value前有一个空格)
配置普数据代码:
name: xiaoxu
配置对象数据:
#对象数据的配置
person:
name: sd
age: 12
sex: nan
#行内对象配置
person1: {
name: sd,age: 22,add: beijing}
配置数据、集合(普通字符串)
#配置数据、集合(普通字符串)
city:
- beijing
- shanghai
- chengdu
- wuhan
- zhengzhou
- nanyang
- xixia
- dongjing
#map集合的配置
map:
key1: v1
key2: v2
key3: v3
4. 配置文件与配置属性映射方式
目标:可以使用@Value获取配置文件配置项并结合@Bean注册组件到Spring
分析:
需求:使用Java代码配置数据库连接池,并可以在处理器中注入并使用
步骤:
- 添加依赖;
- 创建数据库;
- 创建数据库连接参数的配置文件jdbc.properties;
- 创建配置类;
- 改造处理器类注入数据源并使用
小结:
package com.zy.config;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import javax.sql.DataSource;
@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
@Value("${jdbc.url}")
String url;
@Value("${jdbc.driverClassName}")
String driverClassName;
@Value("${jdbc.username}")
String username;
@Value("${jdbc.password}")
String password;
@Bean
public DataSource dataSource(){
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername<