1、SpringBoot 是什么?
SpringBoot 是一个快速开发框架,能够帮助我们快速整合第三方常用框架(Maven 依赖继承关系),完全采用注解化,简化XML配置,内置嵌入Http服务器(Tomcat、Jetty、undertow),默认嵌入Tomcat服务器。最终以Java应用程序进行执行(java -jar xxx.jar)。
SpringBoot 项目中没有web.xml
2、SpringBoot 与 SpringMVC 的关系?
SpringBoot Web 组件集成SprinMVC框架,但是Spring Boot启动SpringMVC的时候没有传统的配置文件,它是如何来启动SpringMVC?
SpringMVC 在3.0 之后支持注解方式启动SpringMVC(使用Java代码启动SpringMVC)。
3、SpringBoot 与 SpringCloud 的关系?
SpringCloud 是一套目前较完整的微服务解决框架,功能非常强大。注册中心、客户端调用工具、服务治理等。
关系:
SpringBoot + SpringCloud 是微服务开发
微服务通讯技术 http+json(restful) 轻量级
SpringBoot Web组件默认集成SpringMVC,SpringCloud 依赖于SpringBoot 实现微服务,使用SpringMVC编写微服务接口。
4、spring boot优缺点:
优点:
快速构建项目
对主流的开发框架的无配置集成
项目可以独立运行,无须外部依赖servlet容器
提供运行时的应用监控
极大的提高了开发、部署效率
与云计算的天然集成
缺点:
入门易,精通难,它没有增强spring的功能,只是帮我们做了很多本需要我们自己做的配置整合工作,本质还是我们以前学习的那些框架知识的应用。
二、快速搭建一个项目
我的开发环境:
IntelliJ IDEA 2018
JDK 8
Maven 3.5.4
SpringBoot 2.1.4
Spring 官网学习:https://spring.io/projects
1、idea快速创建spring boot项目:
使用Spring Initializr
注意1:需要联网
注意2:resources里的目录结构:
1)static:是用来存放静态资源的,比如css,js,img....;
2)templates:用来存放freemarker或者thymeleaf的模板
3)application.properties: SpringBoot的配置文件,(可以修改SpringBoot的默认配置)
2、项目创建好之后:
pom.xml 可以看到SpringBoot 通过 Maven依赖继承关系 帮我们引入了 spring-boot-starter-parent
。
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
cn.jq.springbootdemo1
springbootdemo1
0.0.1-SNAPSHOT
springbootdemo1
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
创建一个IndexController
程序入口主类:Springbootdemo1Application
注意:
1)注解 @SpringBootApplication 声明这个类是主类,是spring boot的执行的入口。
2)SpringApplication.run(Springbootdemo1Application .class, args);
让spring boot知道Springbootdemo1Application 所在的包以及这个包下的所有子包,是spring的扫描组件范围,只有在这个范围的controller,service,dao里的组件类才能被spring扫描到,并且初始化对象,放入到spring的ioc容器里!
@SpringBootApplication
public class Springbootdemo1Application {
public static void main(String[] args) {
SpringApplication.run(Springbootdemo1Application.class, args);
}
}
简单和快速搭建 ok
3、打包发布测试,因为pom.xml中引入了maven的插件,可以直接用maven打包
打出的jar包,可以直接用 java -jar xxxx.jar 命令运行!然后一样可以访问
三、自定义banner及关闭默认的banner
1、自定义banner
在resource目录新建banner.txt,定制banner的网站:http://patorjk.com/software/taag ,把定制的内容复制到banner.txt即可
如果没有banner.txt文件,springboot有默认的,通过查看 SpringBootBanner和SpringApplicationBannerPrinter类源码
2、关闭默认的banner
springboot默认是开启banner的,关闭默认的banner有两种方式
1)在application.properties文件中添加 spring.main.banner-mode=off 即可
2)在启动类中
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(Springbootdemo1Application .class);
//Banner.Mode.OFF 关闭
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
}
四、SpringBoot使用自定义favicon.ico图标
1、找一个制作网址,比如:https://tool.lu/favicon。制作一个favicon.ico图片
2、favicon.ico图片放到 resources/static目录下就可以了。
参考文章:理解 Spring Boot 项目中的 parent
end ~