目录
一、前言
二、初识Springboot
2.1 初识Springboot
2.2 第一个Springboot项目
2.2.1 配置maven和pom.xml
2.2.2 启动
2.2.3 运行结果
2.3 初识Springboot:小结
三、Springboot两种部署方式
3.1 Springboot的jar部署方式
3.2 Springboot的war部署方式
四、Springboot视图:从JSP到Thymeleaf
4.1 Jsp实现前端视图
4.2 Thymeleaf实现前端视图
4.3 Springboot视图层:小结
五、小结
本文介绍Java的流行框架Springboot,主要包括三个部分的内容,分为:
第二部分,介绍Springboot的优点和搭建第一个Springboot项目;
第三部分,介绍Springboot的两种部署方式,jar部署和war部署;
第四部分,介绍Springboot的视图层,从传统的JSP页面到新型的Thymeleaf。
SprintBoot继SSM之后又一Java流行框架,是一种新型的微服务架构,对于程序员来说,最重要的三个优点是:
1、减少依赖:在使用 Spring 的时候,需要在 pom 文件中添加多个依赖,经常因为缺少依赖而报错,在使用 Spring Boot 后,Spring Boot 会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,我们只需要在 pom 文件中添加如下一个 starter-web 依赖即可。
org.springframework.boot
spring-boot-starter-web
2、减少配置:在使用 Spring 的时候,各种XML、Annotation配置会让人眼花缭乱,而且配置多的话,如果出错了也很难找出原因。在使用 Spring Boot 后,Spring Boot更多的是采用 Java Config 的方式,对 Spring 进行配置。部署方面,在使用 Spring 的时候,原来 Spring 有多个 xml 和 properties配置,在 Spring Boot 中只需要个 application.yml即可。
3、运行方便:在使用 Spring 时,项目部署时需要我们在服务器上部署 tomcat,然后把项目打成 war 包扔到 tomcat里,在使用 Spring Boot 后,我们不需要在服务器上去部署 tomcat,因为 Spring Boot 内嵌了 tomcat,我们只需要将项目打成 jar 包,使用 java -jar xxx.jar一键式启动项目。
maven:File/Settings/搜索maven回车/配置maven根目录、本地settings.xml和本地仓库
pom.xml:
第一个Springboot项目,可能有不熟悉,如配置方式application.yaml,启动方式SpringbootApplication,没有关系,只要由浅入深,循序渐进,你一定会掌握它的。
表面上看来,springboot是一个web项目,它应该像SSM一样生成war包,实际上,Springboot是一个Java应用程序,其结果是一个jar文件。本节演示Springboot的两种部署方式,jar包和war包(以上一节的代码演示)。
(1) maven install (或mvn install windows命令行支持简写) 生成jar文件
(2)运行jar文件
java -jar 具体jar名 //这是我们运行java se程序的方式
又Springboot本质是Java应用程序,可以直接使用“java -jar 具体jar包名”,运行jar包。
(3)浏览器查看结果
小结:因为Springboot本质上是一个Java应用程序,可以使用运行Java程序方式,先生成jar包,再运行jar包,这样就成功运行了Springboot项目。
附:因为是在命令行中,启动,当关闭命令行时,Springboot停止,项目停止,浏览器也访问不到了
关闭命令行后:
(1)在上面的项目上修改两个地方,第一,修改Application,第二,修改pom.xml
(2)配置与运行
命令:
既然已经生成了war包,就要在应用服务器上部署,这里我们使用tomcat服务器,将war包拷贝到webapps下,war包重命名为ROOT.war,如下:
启动Tomcat服务器
(3)访问浏览器http://127.0.0.1:8080/hello(127.0.0.1表示本机,8080是tomcat默认端口号,hello是springboot指定路径)
附:因为是部署在tomcat服务上的,所以,当停止tomcat时,Springboot停止,项目停止,浏览器也访问不到了。
关闭tomcat服务器:
本节演示Springboot视图层,既可以用视图解析器和简单的jsp实现,也可以用Springboot独特的Thymeleaf实现。
(1)pom.xml中导入相应依赖
(2)application.yaml或application.properties中加入视图路径的前缀和后缀,定位视图
(3)controller返回值指定视图
(4)具体视图实现
(5)运行结果
小结:(1)(2)(3)(4)从底层设置(pom.xml依赖 application.properties设置)到上层实现(controller和jsp),演示了Springboot项目中单纯jsp实现前端界面的过程。
接下来演示Springboot常用方式Thymeleaf实现前端界面的过程。
为什么要有Thymeleaf?Thymeleaf相对于jsp的优势?
JSP | Thymeleaf | |
Springboot项目启动前 | 为JSP页面 | 为HTML页面 |
Springboot项目启动后 | 为HTML页面 | 为HTML页面 |
Springboot项目启动后,thymeleaf 跟 JSP 一样,都是得到纯 HTML页面。 不同在于,不运行之前, thymeleaf 也是 纯 html,而jsp页面不启动则是jsp页面。
所以 thymeleaf 不需要 服务端的支持,就能够被以 html 的方式打开,这样就方便前端人员独立设计与调试, jsp 就不行了, 不启动服务器 jsp 都没法运行出结果来。
(1)pom.xml依赖
org.springframework.boot
spring-boot-starter-thymeleaf
(2)application.yaml或application.properties中加入视图路径的前缀和后缀,定位视图
(3)controller返回值指定视图
(4)具体视图实现
(5)运行结果
小结:Springboot视图层使用Thymeleaf代替传统的jsp页面,好处在于传统的jsp运行前是jsp页面,运行后是html页面;thymeleaf运行前就是html,运行后仍然是html.这样可以在不启动后端项目(这里为springboot项目)的情况下就可以用html格式测试前端界面。
本节介绍springboot视图层两种实现方式,传统的jsp实现方式和新型的thymeleaf方式,两种可任意使用但是项目开发中更青睐于后者(指thymeleaf方式)。
附:application.yaml文件和application.properties文件的区别?
两者都是springboot的全局配置文件(yaml文件和yml文件是一样,只是扩展名简写),只是文件格式不同,不同的是,yml文件采用天然的树状结构,开发者一目了然,官方给的很多demo,都是用yml文件配置的,故这里推荐开发者使用yaml文件。
yml通过空格来确定层级关系,使配置文件结构跟清晰,但也会因为微不足道的空格而破坏了层级关系;properties通过.来确定层级关系,配置文件不那么清晰,不会因为大意破坏层次关系。
具体两种的不同:
application.yaml:
server: port: 8080 session-timeout: 30 tomcat.max-threads: 0 tomcat.uri-encoding: UTF-8 spring: datasource: url : jdbc:mysql://localhost:3306/mydatabaseNameXxx username : root password : mypasswordXxx driverClassName : com.mysql.jdbc.Driver jpa: database : MYSQL show-sql : true hibernate: ddl-auto : update naming-strategy : org.hibernate.cfg.ImprovedNamingStrategy properties: hibernate: dialect : org.hibernate.dialect.MySQL5Dialect
application.properties:
server.port=8080 server.session-timeout=30 server.tomcat.max-threads=0 server.tomcat.uri-encoding=UTF-8 spring.datasource.url = jdbc:mysql://localhost:3306/mydatabaseNameXxx spring.datasource.username = root spring.datasource.password = mypasswordXxx spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.jpa.database = MYSQL spring.jpa.show-sql = true spring.jpa.hibernate.ddl-auto = update spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
本文介绍Java的流行框架Springboot,主要包括三个部分的内容,分为:
1、介绍Springboot的优点和搭建第一个Springboot项目;
2、介绍Springboot的两种部署方式,jar部署和war部署;
3、介绍Springboot的视图层,从传统的JSP页面到新型的Thymeleaf;
希望对Springboot后来学习者起到帮助。
天天打码,天天进步!
项目下载(所有的项目都是从第一个Springboot项目慢慢修改的,所以只要给出最后两个项目即可):
jsp方式做前端界面:https://download.csdn.net/download/qq_36963950/11987536
thymeleaf方式做前端界面:https://download.csdn.net/download/qq_36963950/11987539