第一个SpringBoot应用-HelloWorld【原创翻译-翻译自官网用户指南】

来源:互联网 发布:nginx 里pid是什么 编辑:程序博客网 时间:2024/05/18 00:16

开发第一个Spring Boot应用程序 — HelloWorld

用java开发一个简单的“hello world”web应用程序来展示Spring Boot的特点,我们将使用大多数IDE都支持的maven去构建这个工程

1、检查是否安装了合适的java版本和maven版本


2、创建POM文件

首先需要创建一个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.example</groupId>    <artifactId>myproject</artifactId>    <version>0.0.1-SNAPSHOT</version>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.4.1.BUILD-SNAPSHOT</version>    </parent>    <!-- Additional lines to be added here... -->    <!-- (you don't need this if you are using a .RELEASE version) -->    <repositories>        <repository>            <id>spring-snapshots</id>            <url>http://repo.spring.io/snapshot</url>            <snapshots><enabled>true</enabled></snapshots>        </repository>        <repository>            <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>
这个文件能够让你进行构建,你可以使用mvn-package进行检查(如果提示jar will be empty - no content was marked for inclusion!,忽略这个警告就行)

至此,你可以将工程导入IDE中,此处我们使用文本编辑器往下继续

3、添加classpath依赖

SpringBoot提供了若干个“starters”可以方便的添加jar包到classpath。我们在pom文件的parent部分已经用了spring-boot-starter-parent,它是一个提供了maven默认功能的特殊的starter,同时它也提供了一个“dependency-management ”部分

以便可以忽略blessed依赖中的version标签

其他starter仅仅提供了特定应用类型下的一些依赖,因为我们开发的是一个web程序,我们也将会添加spring-boot-starter-web

的依赖,在这之前,让我们看看我们现在有什么


mvn dependency:tree 命令展示了一个你工程的依赖树,你可以看到spring-boot-starter-parent没有提供什么依赖,那么现在

我们来编辑一下pom.xml,把spring-boot-starter-web依赖加进去,放到parent部分的下面


再次执行mvn dependency:tree,会发现已经多了其他的依赖,包括tomcat web server和Spring Boot自己。

4、写代码

为了完成应用我们需要写java代码。Maven默认从src/main/java路径下编译java文件,因此需要创建相关目录,并添加文件

src/main/java/Example.java

import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*;@RestController@EnableAutoConfigurationpublic class Example {    @RequestMapping("/")    String home() {        return "Hello World!";    }    public static void main(String[] args) throws Exception {        SpringApplication.run(Example.class, args);    }}
此处没有太多代码,具体让我们一步一步来讲解

4.1、@RestController和@RequestMapping注释

@RestConstroller注释标识一个类有特殊角色,在这里,就是告诉spring这个类是一个web@Controller,有请求来的时候spring就会酌情考虑

@RequestMapping注释标识的是通道信息,它告诉spring,任何一个路径是“/”的http请求都应该映射到home方法,@RestController注释告诉spring

把结果以字符串的形式直接返回给请求者

这两个注释都是SpringMvc的注释(在SpringBoot这里并没有什么特殊的)

4.2、@EnableAutoConfiguration注释

第二个类级别的注释是@EnableAutoConfiguration,这个注释告诉spring进行相应配置,这个相应是根据上面配置的spring-boot-starter-web

告诉了spring我们在开发一个web程序,spring进行相应配置即可

4.3、main方法

main方法历来是约定了一个程序入口,这里我们在main方法会唤起执行SpringApplication ,SpringApplication 会启动我们的应用,启动自动装配的tomcat server

5、执行程序

此时我们的应用就可以工作了。因为我们引入过spring-boot-starter-parent,它是一个可以运行的目标,我们可以在工程根目录下使用mvn spring-boot:run启动应用


此时如果在浏览器中访问localhost:8080 ,就可以看到输出hello world

按ctrl+c可以退出应用

6、制作一个可执行的jar

可以制作一个自执行的jar,制作jar需要在pom.xml中加入spring-boot-maven-plugin,在dependencies下面加入如下内容

<build>    <plugins>        <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>        </plugin>    </plugins></build>
保存pom.xml,然后执行mvn package命令


这个时候去target文件夹中查看就能够看到myproject-0.0.1-SNAPSHOT.jar,此时如果想看看jar中机构,可以执行

$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
能够在target目录下看到一个更小版的myproject-0.0.1-SNAPSHOT.jar.original,这是SrpingBoot二次打包前maven创建的

可以使用java -jar命令让应用跑起来



0 0
原创粉丝点击