1.什么是SpringBoot
概念:SpringBoot是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式开发,
内置Web容器,默认使用的是Tomcat容器;SpringBoot的Web组件默认集成的是SpringMVC框架。
2.SpringBoot和SpringMVC的关系
SpringMVC是SpringBoot默认集成的Web组件,SpringMVC是控制层
3.SpringBoot和SpringCloud的关系
SpringCloud依赖于SpringBoot组件,SpringCloud是一套完整的微服务解决框架,在微服务领域通信,采用的是HTTP
+JSON协议;因为SpringCloud依赖于SpringBoot组件,而SpringBoot默认集成了SpringMVC,因此SpringClound采用SpringMVC
书写HTTP协议接口。
4.SpringBoot快速入门
4.1)导入pom依赖,集成了web组件, log4j 日志组件等
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<!-- 添加Web组件,SpringBoot默认使用的是SpringMVC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<!-- 排除SpringBoot自带的logback依赖 -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加log4j组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
<!-- 添加lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
4.2)一些SpringBoot注解的说明
4.2.1) @RestController
在Controller类上添加这个注解,表示这个Controller类的所有方法返回的结果都是JSON格式的,直接可以
编写restful接口;
@RestController = 在类上添加@Controller + 在方法上添加 @ResponseBody
4.2.2) @EnableAutoConfiguration
根据应用所声明的依赖配置来对Spring进行自动装配,这个注解告诉SpringBoot根据添加的jar包依赖,猜测
你如何配置Spring;比如你在pom文件中添加了pring-boot-starter-web组件,此时这个注解就按照你在开发一个web应
用的方式来进行Spring装配
4.2.3)@ComponentScan ---包扫描范围
4.2.4)@SpringBootApplication
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,
因此SpringBoot项目可以使用这一个注解来代替上面三个注解,默认的扫包范围是启动类所在的包及其子包下的所有类
4.2.5)一个正确且完整的log4j.properties文件配置案例
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = F:/logs/spring-boot.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
5.为什么使用SpringBoot开发
5.1) 传统的开发模式,配置文件比较多,开发效率低,jar包冲突
5.2) SpringBoot 底层帮你实现版本统一,使用的是Maven依赖继承原理
6.动态页面静态化
概念:将动态页面转换成伪HTML元素,目的是提高SEO,即搜索引擎优化;当使用搜索引擎时,页面提交给搜索引擎,
让搜索找到该页面的时候,展示在前面。SEO --- Search Engine Optimization