JavaWeb——初识Springboot

目录

一、前言

二、初识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。

二、初识Springboot

2.1 初识Springboot

      SprintBoot继SSM之后又一Java流行框架,是一种新型的微服务架构,对于程序员来说,最重要的三个优点是:

       1、减少依赖:在使用 Spring 的时候,需要在 pom 文件中添加多个依赖,经常因为缺少依赖而报错,在使用 Spring Boot 后,Spring Boot 会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,我们只需要在 pom 文件中添加如下一个 starter-web 依赖即可。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

        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一键式启动项目。

2.2 第一个Springboot项目

2.2.1 配置maven和pom.xml

maven:File/Settings/搜索maven回车/配置maven根目录、本地settings.xml和本地仓库

pom.xml:

2.2.2 启动

2.2.3 运行结果

2.3  初识Springboot:小结

       第一个Springboot项目,可能有不熟悉,如配置方式application.yaml,启动方式SpringbootApplication,没有关系,只要由浅入深,循序渐进,你一定会掌握它的。

三、Springboot两种部署方式

       表面上看来,springboot是一个web项目,它应该像SSM一样生成war包,实际上,Springboot是一个Java应用程序,其结果是一个jar文件。本节演示Springboot的两种部署方式,jar包和war包(以上一节的代码演示)。

3.1 Springboot的jar部署方式

(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停止,项目停止,浏览器也访问不到了

关闭命令行后:

3.2 Springboot的war部署方式

(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到Thymeleaf

      本节演示Springboot视图层,既可以用视图解析器和简单的jsp实现,也可以用Springboot独特的Thymeleaf实现。

4.1 Jsp实现前端视图

(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实现前端界面的过程。

4.2 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依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>	
</dependency>

(2)application.yaml或application.properties中加入视图路径的前缀和后缀,定位视图

(3)controller返回值指定视图

(4)具体视图实现

(5)运行结果

小结:Springboot视图层使用Thymeleaf代替传统的jsp页面,好处在于传统的jsp运行前是jsp页面,运行后是html页面;thymeleaf运行前就是html,运行后仍然是html.这样可以在不启动后端项目(这里为springboot项目)的情况下就可以用html格式测试前端界面。

4.3 Springboot视图层:小结

     本节介绍springboot视图层两种实现方式,传统的jsp实现方式和新型的thymeleaf方式,两种可任意使用但是项目开发中更青睐于后者(指thymeleaf方式)。

附:application.yaml文件和application.properties文件的区别?

两者都是springboot的全局配置文件(yaml文件和yml文件是一样,只是扩展名简写),只是文件格式不同,不同的是,yml文件采用天然的树状结构,开发者一目了然,官方给的很多demo,都是用yml文件配置的,故这里推荐开发者使用yaml文件。具体两种的不同:

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

发布了185 篇原创文章 · 获赞 37 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_36963950/article/details/103079185