- 概念:
spring boot是简化了springframework使用过程中的繁琐配置。以一种更加简单,强调习惯优于配置的springframework提炼版框架。甚至对业界主流框架的无配置的便利集成(只需引入相关的依赖启动器spring-boot-starter-xxxx即可完成集成)。
优点:
- 快速开发、快速构建能独立运行的应用;
- 方便对外输出各种形式的服务:restful api 、webSocket、Web等
- 支持运行期内嵌的容器:tomcat、Jetty等
- 支持热启动,devTools
- 自动管理依赖
- 自带应用监控
- 支持各种IDE环境
缺点:基本屏蔽了应用中集成的各个技术原理,无法知晓内部的逻辑机制等等,只知其然不知其所以然。
- 创建springboot应用的方式:
- Springboot官网提供的便利工具创建
https://start.spring.io/
- IDE环境提供的手脚架工具创建
(注:选择spring initializr方式的话等于是把官网的快速创建应用也就是方式1搬到IDE中进行操作,所以该方式需要本地网络能正常访问外网!)
- 基于IDE环境手动配置项目,手动在pom中引入依赖,配置插件等
(该方式主要基于无网络的情况)
配置好本地仓库
手动加入依赖
阿里云中央仓库服务:https://maven.aliyun.com/mvn/search
- Springboot 启动类
项目创建之后,在项目中创建一个main函数的普通java入口类
- springboot配置文件
Springboot配置文件名必须为application.properties或者application.yml
properties类型文件优先于yml类型文件(注:后配置不会覆盖于先配置的内容)
配置文件存放位置以及加载顺序
1、resource目录下
2、resource/config下
3、项目根目录下
4、根目录下/config
加载先后顺序:4->3->2>1
- 配置文件中的占位符 ${}
- 可以获取框架提供的的方法中的值;
- 获取配置文件中的某key值
- springboot核心注解
- @SpringbootApplication
Springboot启动类必加注解、
- @SpringbootConfiguration
跟@Configuration一样的功能,表示该类是配置类,同时在扫描到该类时,会实例化类中注解了@Bean的实例。
- EnableAutoConfiguration
Springboot 的自动配置,springboot依据你依赖的jar包进行自动装配你的应用。
- @AutoConfigurationPackage
自动注入主类所在包下所有加了注解的类
- @Import({AutoConfigurationImportSelector.class})
直接导入普通的类
导入实现了importSelector接口的类
导入实现了ImportBeanDefinitionRegistrar接口的类
- @ComponentScan
组件扫描,可自动发现和装配一些Bean
- controller常用注解
- @RestController 等同于@Controller+@ResponseBody
- @GetMapping 等同于@RequestMapping(method.requestMethod.GET)
- @PostMapping 如2,等同于RequestMapping(POST)
- ````
- springboot整合servlet
通过扫描注解完成servlet组件的注册:
- 新建类继承HttpServlet父类
- 在新建类上加上注解@WebServlet(name=””,urlPatterns=””)
- 在启动类加注解@ServletComponentScan
- springboot整合filter
- 实现Filter接口
- 在实现类上加注解@WebFilter(filterName=””,urlPatterns={“”,””,””})
- 在启动类上加注解@ServletComponentScan
- spring整合listener监听器
- 实现监听器接口
- 在实现类上加注解@WebListener
- 启动类加注解@ServletComponentScan
- springboot访问静态资源
- Springboot默认在static目录中存放静态页面,在templates中存放动态页面
- 存放静态资源必须是static
- Springboot通过classpath/static访问静态资源
- Springboot提供的其他静态资源存放位置:classpath:/META-INF/resources/ 、classpath:/resources/、classpath:/static/、classpath:/public/;classpath指的是springboot工程中的resources根目录
- 自定义静态资源文件位置的配置:在application配置文件中配置spring.resources.static-locations=classpath:/xxxxx
- springboot 整合jsp
- pom文件加入jsp引擎与jstl标签库依赖(因为内置的tomcat没有jsp引擎)
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>9.0.8</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> |
2、创建webapp目录
Webapp位置在resources同级,在webapp下创建Web-INF,其他等同于spring项目的web项目结构格式
3、标志webapp目录支持web功能:
- springboot 整合JDBC
- pom引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> |
2、自定义配置文件
3、通过注解@ConfigurationPropertie读取配置文件属性