• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring Boot Hello World的实现代码

springboot 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

本篇文章是SpringBoot最入门的介绍。我们不借助任何额外的工具,从无到有创建一个Spring Boot的web项目,并运行这个项目。

项目构建

归根结底,Spring Boot就只是一个框架,几个jar而已,没什么神奇的。但使用Spring Initializr创建项目的过程把很多信息屏蔽掉了,这样我们就很难搞清楚Spring Boot的本质是什么。下面仅使用maven从无到有构建一个Spring Boot的web项目。
先创建一个maven空工程如下所示,项目的名字叫spring-boot-hello。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.poype</groupId>
  <artifactId>spring-boot-hello</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    
  </dependencies>
</project>

现在这还是一个空的maven项目,我们可以在dependencies标签中添加我们需要的依赖,例如添加Spring Boot的依赖。但是Spring Boot为了减少配置,方便我们开发,提供了一个parent maven工程spring-boot-starter-parent,我们只要让我们的这个项目继承spring-boot-starter-parent工程,就能减少好多配置。修改我们的POM配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.poype</groupId>
  <artifactId>spring-boot-hello</artifactId>
  <version>1.0-SNAPSHOT</version>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
  </parent>

  <dependencies>
    
  </dependencies>
</project>

目前我们的这个maven项目还没有导入任何dependency,这点可以通过执行mvn dependency:tree命令确定。
我们要创建的是一个web项目,所以添加spring-boot本文来源[email protected]搞@^&代*@码2网-starter-web这个依赖。修改POM配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.poype</groupId>
  <artifactId>spring-boot-hello</artifactId>
  <version>1.0-SNAPSHOT</version>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
  </parent>

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

由于在spring-boot-starter-parent的dependencyManagement中已经用声明了spring-boot-starter-web,所以此处我们可以省略它的version配置。

再次执行mvn dependency:tree命令获得如下结果:

[INFO] Scanning for projects...
[INFO] 
[INFO] --------------------< com.poype:spring-boot-hello >---------------------
[INFO] Building spring-boot-hello 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @ spring-boot-hello ---
[INFO] com.poype:spring-boot-hello:jar:1.0-SNAPSHOT
[INFO] \- org.springframework.boot:spring-boot-starter-web:jar:2.1.4.RELEASE:compile
[INFO]  +- org.springframework.boot:spring-boot-starter:jar:2.1.4.RELEASE:compile
[INFO]  | +- org.springframework.boot:spring-boot:jar:2.1.4.RELEASE:compile
[INFO]  | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.1.4.RELEASE:compile
[INFO]  | +- org.springframework.boot:spring-boot-starter-logging:jar:2.1.4.RELEASE:compile
[INFO]  | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO]  | | | +- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO]  | | | \- org.slf4j:slf4j-api:jar:1.7.26:compile
[INFO]  | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2:compile
[INFO]  | | | \- org.apache.logging.log4j:log4j-api:jar:2.11.2:compile
[INFO]  | | \- org.slf4j:jul-to-slf4j:jar:1.7.26:compile
[INFO]  | +- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO]  | +- org.springframework:spring-core:jar:5.1.6.RELEASE:compile
[INFO]  | | \- org.springframework:spring-jcl:jar:5.1.6.RELEASE:compile
[INFO]  | \- org.yaml:snakeyaml:jar:1.23:runtime
[INFO]  +- org.springframework.boot:spring-boot-starter-json:jar:2.1.4.RELEASE:compile
[INFO]  | +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.8:compile
[INFO]  | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO]  | | \- com.fasterxml.jackson.core:jackson-core:jar:2.9.8:compile
[INFO]  | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8:compile
[INFO]  | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8:compile
[INFO]  | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8:compile
[INFO]  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.4.RELEASE:compile
[INFO]  | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.17:compile
[INFO]  | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.17:compile
[INFO]  | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.17:compile
[INFO]  +- org.hibernate.validator:hibernate-validator:jar:6.0.16.Final:compile
[INFO]  | +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO]  | +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
[INFO]  | \- com.fasterxml:classmate:jar:1.4.0:compile
[INFO]  +- org.springframework:spring-web:jar:5.1.6.RELEASE:compile
[INFO]  | \- org.springframework:spring-beans:jar:5.1.6.RELEASE:compile
[INFO]  \- org.springframework:spring-webmvc:jar:5.1.6.RELEASE:compile
[INFO]    +- org.springframework:spring-aop:jar:5.1.6.RELEASE:compile
[INFO]    +- org.springframework:spring-context:jar:5.1.6.RELEASE:compile
[INFO]    \- org.springframework:spring-expression:jar:5.1.6.RELEASE:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.018 s
[INFO] Finished at: 2019-05-19T22:54:50+08:00
[INFO] ------------------------------------------------------------------------

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring Boot Hello World的实现代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址