SpringBoot入门系列:第一篇 Hello World

时间:2021-03-04 12:24:17

跟随SpringBoot的文档(http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation)学习,前后几章关联才调通代码,煞是痛苦,在这里记录结果,过程隐忍。

一、准备工作

1、根据Maven工程特点,建立文档结果

myFirstProject

+-src

+-main

+-java

+-resources

+-test

+-java

+-resources

2、再在src/main/java下依次建立文件夹com,example,myFirstProject,可以构成Maven工程包(package)-->com.example.myFirstProject,最后文档结构如图1

SpringBoot入门系列:第一篇 Hello World

图1

3、编制pom.xml,存于myFirstProject文件夹下,与src同级

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.example</groupId>
  6. <artifactId>myFirstproject</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <!-- Inherit defaults from Spring Boot -->
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>1.4.0.BUILD-SNAPSHOT</version>
  13. </parent>
  14. <!-- Add typical dependencies for a web application -->
  15. <dependencies>
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. </dependencies>
  21. <!-- Package as an executable jar -->
  22. <build>
  23. <plugins>
  24. <plugin>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-maven-plugin</artifactId>
  27. </plugin>
  28. </plugins>
  29. </build>
  30. <!-- Add Spring repositories -->
  31. <!-- (you don't need this if you are using a .RELEASE version) -->
  32. <repositories>
  33. <repository>
  34. <id>spring-snapshots</id>
  35. <url>http://repo.spring.io/snapshot</url>
  36. <snapshots><enabled>true</enabled></snapshots>
  37. </repository>
  38. <repository>
  39. <id>spring-milestones</id>
  40. <url>http://repo.spring.io/milestone</url>
  41. </repository>
  42. </repositories>
  43. <pluginRepositories>
  44. <pluginRepository>
  45. <id>spring-snapshots</id>
  46. <url>http://repo.spring.io/snapshot</url>
  47. </pluginRepository>
  48. <pluginRepository>
  49. <id>spring-milestones</id>
  50. <url>http://repo.spring.io/milestone</url>
  51. </pluginRepository>
  52. </pluginRepositories>
  53. </project>

文档内容从SpringBoot的文档拷贝

4、编制Application.java存于myFirstProject\src\main\java\com\example\myFirstProject下

  1. package com.example.myFirstProject;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class Application {
  6. public static void main(String[] args) {
  7. SpringApplication.run(Application.class, args);
  8. }
  9. }

5、编制Example.java,存于myFirstProject\src\main\java\com\example\myFirstProject下

  1. package com.example.myFirstProject;
  2. import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
  3. import org.springframework.web.bind.annotation.PathVariable;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6. @RestController
  7. @EnableAutoConfiguration
  8. public class Example {
  9. @RequestMapping("/")
  10. String home() {
  11. return "Hello World!";
  12. }
  13. @RequestMapping("/hello/{myName}")
  14. String index(@PathVariable String myName) {
  15. return "Hello "+myName+"!!!";
  16. }
  17. }

二、Maven工程导入

1、启动eclipse

1.1、java-->jdk1.7.0_80x64

1.2、maven-->Apache Maven 3.3.3

1.3、Eclipse Java EE IDE for Web Developers. Version: Mars Release (4.5.0)

1.4、为本练习,新建一个workgroup

2、在eclipse中,依次点击file-->import-->Maven-->Existing Maven Projects-->Next-->Browse-->定位到myFirstProject文件夹-->确定--Finish

3、导入结果如图2

SpringBoot入门系列:第一篇 Hello World

图2

三、运行

1、在eclipse的工程myFirstProject上右击鼠标,选择Run as-->Java Application,如图3

SpringBoot入门系列:第一篇 Hello World

2、在select Java Aplication中选择“Application -com.example.myFirstProject”,如图4

SpringBoot入门系列:第一篇 Hello World

图4

3、再次点击“OK”按钮,在Eclipse的Console中开始打印如图5

SpringBoot入门系列:第一篇 Hello World

图5

4、打开浏览器,输入http://localhost:8080,显示如图6

SpringBoot入门系列:第一篇 Hello World

5、在浏览器中,输入http://localhost:8080/hello/SpringBoot

SpringBoot入门系列:第一篇 Hello World

四、后记

痛则不通,通则不痛。这个例子非常之简单,为了这个简单,费事不少。为了这个例子能够成功,最好做以下准备

1、构建本地的Maven伺服,否则速度痛苦

2、Sonatype Nexus尽量和jdk相对应的版本,不要最求最新,否则可能启动不起来。

3、Sonatype Nexus搭建,参考