[TOC]
概述
springBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品,使用springboot,可以让我们快速的构建庞大的spring项目(包括web 持久化),并且尽可能的减少一切xml配置,做到开箱即用,迅速上手,让我们关注业务而非配置
为什么要使用SpringBoot?
它的出现解决了传统spring项目以下的问题:
- 配置负责繁多
每一个组件集成spring都需要编写对应配置文件,比如appplicationContext-xxx.xml
- 混乱的依赖管理
在spirng中想集成对应组件时,需要导入N多的pom,并且还有考虑版本。
我们使用SpringBoot创建java应用,只需填写很少配置和依赖就能快速搭建,并使用java –jar 启动它,就能得到一个生产级别的web工程。非常方便
入门
首先创建好一个maven项目,然后在pom.xml中加入依赖
1 | <!-- 指定SpringBoot的版本 --> |
然后编写一个Controller类
1 | package com.ifueen.hello; |
最后编写一个配置类来启动
1 | package com.ifueen.hello; |
启动这个配置类,然后在浏览器中输入localhost:8080/hello就可以看到效果了
项目结构
一个SpingBoot的基本项目结构如下
1 | src |
打包
pom.xml中导入打包插件
1 | <build> |
打包完成后在cmd中运行命令
java -jar xxx.jar
SpringBoot读取配置
使用@Value标签
配置文件
1 | # 设置端口 |
绑定配置的对象
1 | //读取端口 |
使用@ConfigurationProperties
配置文件
1 | #配置数据库 |
新建一个类来存放读取的配置
1 | package com.ifueen.hello.read_properties; |
多环境切换
方式一
1 | spring: |
方式二
通过配置文件的名字来识别环境
application-dev.yml
1 | server: |
application-test.yml
1 | server: |
application.yml
1 | spring: |
日志使用
基本使用
1 | //日志 |
配置日志
1 | # 配置日志 |
指定配置文件配置logback-spring.xml
1 | <?xml version="1.0" encoding="UTF-8"?> |
SpringBoot集成Thymeleaf
导入依赖
1 | <dependency> |
创建模板 resources/templates/hello.html
1 | <!DOCTYPE html> |
Controller配置
1 | @RequestMapping("/hello") |
Thymeleaf的自动配置原理
1 | @EnableAutoConfiguration 开启自动配置功能,通过一个AutoConfigurationImportSelector导入选择器去扫描 spring-boot-autoconfigure-2.0.5.RELEASE.jar 自动配置包下面的 spring.factories 文件中的很多很多的自动配置的类 |
1 | @Bean |
静态资源
1.静态资源目录
resource/static
2.webjars
导入jquery依赖 ( http://www.webjars.org/)
1 | <dependency> |
导入jquery的js
1 | <script src="/webjars/jquery/3.4.1/jquery.js"></script> |
SpringBoot中的MVC配置
1.配置拦截器
定义拦截器
1 | package com.ifueen.hello; |
注册拦截器
1 | package com.ifueen.hello; |
2.添加视图控制器
1 | @Override |
当访问/xx 定位到 templates/hello2.html
集成DataSource(连接池)
1.导入依赖
1 | <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> |
手动配置方式
手动配置四个属性
1 | db.driverClassName=com.mysql.jdbc.Driver |
1 | @Bean |
自动配置方式 (重点)
1 | # 配置datasource -- 自动配置 |
####