MyEclipse使用Maven搭建Spring Boot项目(二)

上一篇,MyEclipse使用Maven搭建Spring Boot项目(一),我们已用maven搭建好了一个web项目。现在我们加入springBoot,实现helloWorld项目,让程序真正运行起来。

一、在pom.xml中引入spring-boot-start-parent。

spring官方的叫stater poms,它可以提供dependency management,也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了。

此处使用的是 .RELEASE版本

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

二、在pom.xml中添加spring-boot-starter-web依赖项

由于我们正在开发Web应用程序,因此我们添加了spring-boot-starter-web依赖项。

1.在此之前,我们可以通过运行以下命令来查看当前的内容:

在cmd工程目录下,键入命令:$ mvn  dependency:tree

mvn dependency:tree命令打印项目依赖项的树表示形式。您可以看到它spring-boot-starter-parent本身不提供依赖关系。

2.要添加必要的依赖项,将spring-boot-starter-web在该parent部分的正下方添加 依赖项:

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

三、在pom.xml中添加spring-boot-maven-plugin

如果我们要直接Main启动spring,那么该plugin必须要添加,否则是无法启动的。如果使用maven的spring-boot:run的话就不需要此配置。添加后就能创建可执行jar。为此,请在该dependencies部分下方插入以下行:

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

 

四、编写代码

要完成我们的应用程序,我们需要创建一个Java文件。默认情况下,Maven编译源代码src/main/java,因此您需要创建该文件夹结构,然后添加一个名为src/main/java/testPackage/Example.java包含以下代码的文件:

package testPackage;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class Example {
	@RequestMapping("/")
	String home(){
		
		return "hello world";
	}
	
	public static void main(String[] args) {
		SpringApplication.run(Example.class, args);
	}
}

我们Example类上的第一个注释是@RestController。这被称为 构造型注释。它为阅读代码的人提供了提示,而对于Spring来说,该类扮演着特定的角色。在这种情况下,我们的类是一个Web @Controller,因此Spring在处理传入的Web请求时会考虑它。

@RequestMapping注释提供“路由”的信息。它告诉Spring,任何带/路径的HTTP请求都应该映射到该home方法。该@RestController注解告诉Spring使得到的字符串直接返回给调用者。

第二个类级注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据你添加的jar依赖关系“猜测”你想要如何配置Spring。自从spring-boot-starter-web添加了Tomcat和Spring MVC 以来,自动配置假定您正在开发Web应用程序并相应地设置Spring。

我们的应用程序的最后一部分是main方法。这只是遵循应用程序入口点的Java约定的标准方法。我们的main方法SpringApplication通过调用委托给Spring Boot的类run。 SpringApplication引导我们的应用程序,启动Spring,然后启动自动配置的Tomcat Web服务器。我们需要Example.class作为参数传递给run方法,以告诉SpringApplication哪个是主要的Spring组件。该 args数组也被传递以公开任何命令行参数。

五、运行示例

1.通过MyEclipse运行

第一种方式:右键Run As -> Java Application。打开浏览器输入地址:http://127.0.0.1:8080/home 就可以看到Hello world了。

第二种方式右键project – Run as – Maven build – 在Goals里输入spring-boot:run ,然后Apply,最后点击Run。

2.通过cmd命令行运行

第一种方式:

$ mvn spring-boot:run从根项目目录中键入以启动应用程序.可以看到类似下图的启动日志。

启程成功后,打开浏览器输入地址:http://127.0.0.1:8080/home 就可以看到Hello world了。

第二种方式:

$ mvn package

若打出来的事jar包,打包成功后,键入命令:$ java -jar target/maven0716.jar

启程成功后,打开浏览器输入地址:http://127.0.0.1:8080/home 就可以看到Hello world了。

 

六、pom.xml的完整文件

<?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.dyq</groupId>
  <artifactId>maven0716</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <parent>
  	<groupId>org.springframework.boot</groupId>
  	<artifactId>spring-boot-starter-parent</artifactId>
  	<version>1.5.3.RELEASE</version>
  </parent>
  
  <name>maven0716 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
  	<dependency>
  		<groupId>org.springframework.boot</groupId>
  		<artifactId>spring-boot-starter-web</artifactId>
  	</dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>maven0716</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
      	<plugin>
      		<groupId>org.springframework.boot</groupId>
      		<artifactId>spring-boot-maven-plugin</artifactId>
      	</plugin>
        
      </plugins>
    </pluginManagement>
  </build>
</project>

猜你喜欢

转载自blog.csdn.net/OliverQY/article/details/81079957
今日推荐