1、SpringBoot介绍
将之前常用的spring,springmvc,data-jpa等常用框架封装到一起,帮助你隐藏这些框架的整合细节,实现敏捷开发
1.1、特点
- 不需要模板化的配置 ,将会带来全新的轻便体验;
- SpringBoot整合第三方框架时,只需 导入相应的starter依赖包就自动整合了;
- SpringBoot默认只有 一个.properties或yml结尾的配置文件 ,且不推荐使用xml文件,后期采用.java文件(用到@Configuration注解的类))去编写配置信息;
- SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置 ;
- 且后期要学习的微服务框架SpringCloud需要建立在SpringBoot基础上;
1.2、工程的目录结构
- src
- main
- java
- 包名
- 启动类 (启动类.java,将Controller和其他包放在此包的子包或者同级包下)
- 其他包
- resources
- static(放静态资源,如图片,视频)
- templates(存放页面模板jsp,thymeleaf等)
- application.properties(唯一的配置文件)
1.3、三种启动方式
- 运行启动类main方法
- 采用maven命令:mvn spring-boot:run
- 采用jar包方式运行:将项目打包成jar文件,通过 java -jar jar文件名
1.4、常用注解
1.4.1 @Configuration和@Bean(编写配置类)
- 之前Spring在xml文件中编写大量bean标签,SpringBoot不推荐使用xml
- @Configuration相当于beans标签
- @Bean相当于bean标签
1.4.2 @SpringBootApplication(一个组合注解)
- @SpringBootConfiguration:就是@Configuration注解
- @EnableAutoConfiguration:实现自动装配
- @ComponentScan:帮助扫描注解的
1.4.3 @value和ConfigurationProperties(引入外部配置文件信息)
- @value:是获取.properties或yml内容,如@value($(“key”))
- @ConfigurationProperties:是在yml中有大量自定义配置,且有统一前缀,和@Component(组件注解)一起写在实体类中,注:@ConfigurationProperties(prefix=“前缀”),前缀是必填的
1.4.4 @MapperScan(basepackage=“”),@Service,@Controller和@transaction
- @Mapper是dao层的注解,但dao太多,就用@MapperScan(basepackage=“mapper包”),此注解用在启动类中
- @Service:声明是一个Service
- @Controller:声明是一个Controller
- @transaction:开启事务注解,开启后具有回滚和提交,但值都是SpringBoot默认的
1.4.5 @RequestMapping,@PostMapping,@GetMapping和@PathVariable(Rest风格的Controller常用注解)
- @RequestMapping,@PostMapping,@GetMapping:均是编写接口路径,@RequestMapping在Post和Get请求都能用
- @PathVariable:实现rest风格必备注解,如@RequestMapping(value=“/student/{id}”)在方法参数中得加上@PathVariable(“id”)注解
1.5、多环境配置
- SpringBoot只有一个配置文件,推荐使用.yml。
- .yml文件优点:根据换行和缩进帮助管理配置文件位置,相比更轻量级
- yml文件缺点:严格遵循换行和缩进,填写value,且一定要在:后面跟空格
- 多环境配置:在application.yml中添加一个配置项
2、SpringBoot整合各类框架
2.1、整合Mybatis框架(2021.8.9)
2.2、整合JSP,分页助手(2021.8.9)
2.3、整合redis框架(2021.8.9)
2.4、整合RabbitMq组件框架
2.5、整合ElasticSearch组件框架
3、SpringBoot实现集成SpringMvc常用功能
3.1、集成实现拦截器(2021.8.9)
3.2、集成实现过滤器和设置字符编码(2021.8.9)
3.3、集成实现文件上传和下载(2021.8.9)
3.4、集成logback日志
4、采用垂直架构在linux的部署与生产
4.1、Docker部署
4.2、使用nginx
4.3、打包在服务器上运行
链接: link.
var foo = 'bar';
|