Spring Boot第一弹:Spring Boot之“Hello World”

Spring Boot之“Hello World”


小弟刚接触spring boot不久,仅想通过写网志的形式来加深记忆和方便以后查阅。如内容有不正确之处,还望各位大佬海量汪涵,并给小弟指出,共同进步。


讲到第一个应用程序,首先想到的肯定是“Hello World”。那么就使用Spring Boot开发一个简单的“Hello World”Web应用程序,以突显出一些Spring Boot的主要功能。


1.1创建pom

首先我们需要先创建一个Maven的pom.xml文件,pom.xml用于构建项目所需jar。

<?xml version =“1.0”encoding =“UTF-8”?> 
<project  xmlns = “http://maven.apache.org/POM/4.0.0xmlnsxsi = “http://www.w3 .org / 2001 / XMLSchema-instancexsischemaLocation = ”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.demo </groupId> 
    <artifactId> myproject </artifactId> 
    <version> 0.0.1-SNAPSHOT </version> 

    <parent> 
        <groupId> org.springframework.boot </groupId> 
        <artifactId> spring-boot-starter-parent</artifactId> 
        <version> 2.0.0.BUILD-SNAPSHOT </version> 
    </parent>  
    <repositories> 
        <!--指定id为spring-snapshots的jar正式版本下载地址 -->
        <repository> 
            <id> spring-snapshots </id> 
            <url> http://repo.spring.io/snapshot </url> 
            <snapshots><enabled >true</enabled></snapshots> 
        </repository> 
        <!--为产生最终版本,会经过n个milestones来实现 -->
        <repository> 
        <!--除非知道在做什么,否则不要使用milestones -->
            <id> spring-milestones </id> 
            <url> http://repo.spring.io/milestone </url> 
        </repository> 
    </repositories> 
    <!--指定插件下载的地址 -->
    <pluginRepositories>
        <pluginRepository> 
            <id> spring-snapshots </id> 
            <url> http://repo.spring.io/snapshot </url> 
        </pluginRepository> 
        <pluginRepository> 
            <id> spring-milestones </id> 
            <url> http://repo.spring.io/milestone </url> 
        </pluginRepository> 
    </pluginRepositories> 
</project>

1.2添加依赖关系

Spring Boot提供了一些“starters”,可以方便地将jar添加到类路径中。

继承spring-boot-starter-parent后,提供了有用的Maven默认值。它还提供了一个 dependency-management 部分,以便可以省略version,统一管理版本号。

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

注:spring-boot-starter-web内嵌了一个Tomcat服务器。


1.3编写Hello World

@RestController
@EnableAutoConfiguration
public class Demo {
    @RequestMapping("/")
    String hello() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Demo.class, args);
    }
}

1.4 @RestController与@Controller

@RestController注解相当于@ResponseBody +@Controller合在一起的作用。

注:只使用@Controller,如需要返回JSON内容到页面,则需要在对应的方法上加上@ResponseBody注解。


1.5 @RequestMapping

@RequestMapping提供路由信息,告诉Spring任何路径“/”的Http请求都映射到hello()方法。


1.6 @EnableAutoConfiguration

该注解的字面意思是开启自动配置,则是在告诉Spring Boot根据添加的jar依赖关系来配置Spring。


1.7 Spring Boot的入口

Spring Boot的入口在main方法中,SpringApplication通过调用委托给Spring Boot的run()方法,从引导应用程序启动Spring,然后启动自动配置的Tomcat web服务器。将Demo.class作为参数传给run方法来判断SpringApplication是哪个的组件。


1.8 创建可执行jar

Java不提供任何标准的方式来加载嵌套的jar文件(即jar包含在jar中的jar文件)。

要用使用Spring Boot创建可执行的jar,我们需要添加spring-boot-maven-plugin到我们的 pom.xml:

<build> 
  <plugins> 
   <plugin> 
     <groupId> org.springframework.boot </groupId> 
     <artifactId> spring-boot-maven-plugin </artifactId> 
   </plugin> 
  </plugins> 
</build>

1.9 启动项目

这里写图片描述
访问localhost:8080,会得到Hello World。
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章