Spring Boot 初级入门教程(一) —— Hello World

初学 Spring Boot,顺便记录下学习中碰到的问题,只针对初学入门需求者。

环境:

  • IDE环境:Spring Tool Suite(Version: 3.7.3.RELEASE)
  • Java环境:jdk1.8.0_172(x64)
  • 依赖环境:Maven(apache-maven-3.3.9)

一、开发环境配置

配置开发环境部分,可以度娘搜索,或者直接参考本博客文章《Maven 的初识、安装和配置》、《单独搭建一套 WEB 开发环境》等文章,这里不再赘述。

二、新建一个Maven项目

File -》 New -》 Other;

找到 Maven 下 Maven Project,一路 Next 按钮。。。

填上 Group Id、Artifact Id,选择 Version,修改 Package,直接 Finish。

三、查看代码目录结构

3.1 自动生成目录结构如下:


3.2 自动生成代码如下:

App.java:

package com.menglanglang.test.springboot;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

AppTest.java 为 junit 自动生成的测试代码,无关紧要。

pom.xml:

<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.menglanglang</groupId>
  <artifactId>test-springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>test-springboot</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

四、补全代码目录结构

由于在项目开发中,有很多静态资源,一般都放在 resources 目录下,所以这里补充两个资源目录。

方法:项目 -》 右键 -》New -》 Source Folder,在 Folder Name 中输入 src/main/resources 和 src/test/resources,补全后代码目录结构如下:


如果此时运行代码:选中 App.java -》 右键 -》 Java Application。

结果为:Hello World!

五、修改代码

pom.xml:

<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.menglanglang</groupId>
	<artifactId>test-springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>test-springboot</name>
	<url>http://blog.csdn.net/tzhuwb</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<!-- 该依赖包提供了MVC、AOP等的依赖包 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>1.4.2.RELEASE</version>
		</dependency>
	</dependencies>

	<!-- Add Spring repositories -->
	<!-- (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>

App.java:

package com.menglanglang.test.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @desc 应用入口
 *
 * @author 孟郎郎
 * @blog http://blog.csdn.net/tzhuwb
 * @version 1.0
 * @date 2017年11月2日下午6:48:19
 */
@SpringBootApplication
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
		System.out.println("Hello World!");
	}
}

如果此时运行代码:选中 App.java -》 右键 -》 Java Application(或者 Spring Boot App)。

结果为:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.2.RELEASE)

2018-05-24 21:11:59.093  INFO 13028 --- [  restartedMain] com.menglanglang.test.springboot.App     : Starting App on LangLang-PC with PID 13028 (D:\STS\sts-bundle\workspace\test-springboot\target\classes started by LangLang in D:\STS\sts-bundle\workspace\test-springboot)
2018-05-24 21:11:59.095  INFO 13028 --- [  restartedMain] com.menglanglang.test.springboot.App     : No active profile set, falling back to default profiles: default
2018-05-24 21:11:59.141  INFO 13028 --- [  restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@62128c3a: startup date [Thu May 24 21:11:59 CST 2018]; root of context hierarchy
2018-05-24 21:12:00.653  INFO 13028 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2018-05-24 21:12:00.668  INFO 13028 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service Tomcat
2018-05-24 21:12:00.669  INFO 13028 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.6
2018-05-24 21:12:00.747  INFO 13028 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-05-24 21:12:00.747  INFO 13028 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1610 ms
2018-05-24 21:12:00.884  INFO 13028 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2018-05-24 21:12:00.887  INFO 13028 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-05-24 21:12:00.888  INFO 13028 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-05-24 21:12:00.888  INFO 13028 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-05-24 21:12:00.888  INFO 13028 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-05-24 21:12:01.129  INFO 13028 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@62128c3a: startup date [Thu May 24 21:11:59 CST 2018]; root of context hierarchy
2018-05-24 21:12:01.182  INFO 13028 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-05-24 21:12:01.183  INFO 13028 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-05-24 21:12:01.207  INFO 13028 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-24 21:12:01.208  INFO 13028 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-24 21:12:01.238  INFO 13028 --- [  restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-24 21:12:01.363  INFO 13028 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2018-05-24 21:12:01.426  INFO 13028 --- [  restartedMain] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-05-24 21:12:01.473  INFO 13028 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2018-05-24 21:12:01.479  INFO 13028 --- [  restartedMain] com.menglanglang.test.springboot.App     : Started App in 2.81 seconds (JVM running for 3.238)
Hello World!

到此,恭喜你,你的第一个 Spring Boot 程序已开发完毕。

猜你喜欢

转载自blog.csdn.net/tzhuwb/article/details/80443228
今日推荐