1. 程式人生 > >Myeclipse下使用Maven搭建spring boot專案(第二篇)

Myeclipse下使用Maven搭建spring boot專案(第二篇)

現在需要搭建spring boot框架,並實現一個HelloWorld的專案,讓程式真正執行起來。

一、在pom.xml中引入spring-boot-start-parent,spring官方的叫stater poms,它可以提供dependency management,也就是依賴管理,引入以後在宣告其它dependency的時候就不需要version了。

<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,spring官方解釋spring-boot-start-web包含了spring webmvc和tomcat等web開發的特性。

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

三、如果我們要直接Main啟動spring,那麼以下plugin必須要新增,否則是無法啟動的。如果使用maven的spring-boot:run的話就不需要此配置。

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

四、下面開始寫程式,我們需要一個啟動類,然後在啟動類宣告讓spring boot自動給我們配置spring需要的配置,比如:@SpringBootApplication,為了可以儘快讓程式跑起來,我們簡單寫一個通過瀏覽器訪問hello world字樣的例子:

@RestController
@SpringBootApplication
public class ExampleSpringBoot {
	@RequestMapping("/home")
    String home() {
        return "Hello World!";
    }
	
    public static void main(String[] args) {
        SpringApplication.run(ExampleSpringBoot.class, args);  
    }
}

其中@SpringBootApplication宣告讓spring boot自動給程式進行必要的配置,等價於以預設屬性使用@Configuration,@EnableAutoConfiguration和@ComponentScan。

@RestController返回json字串的資料,直接可以編寫RESTFul的介面。

五、執行我們的Application,我們先介紹第一種執行方式。第一種方式特別簡單:右鍵Run As -> Java Application。之後開啟瀏覽器輸入地址:http://127.0.0.1:8080/home 就可以看到Hello world!了。 第二種方式右鍵project – Run as – Maven build – 在Goals裡輸入spring-boot:run ,然後Apply,最後點選Run。

六、執行報錯 啟動時報錯NoClassDefFoundError: org/apache/juli/logging/LogFactory 參見下面的解決方法: http://blog.csdn.net/a78270528/article/details/77548779 七、完整的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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.bocom</groupId>
	<artifactId>maventest</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<!-- 繼承父包 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.3.RELEASE</version>
		<relativePath></relativePath>
	</parent>
	<name>maventest</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version><!--$NO-MVN-MAN-VER$-->
			<scope>test</scope>
		</dependency>
		
		<dependency>
		    <groupId>org.apache.tomcat.embed</groupId>
		    <artifactId>tomcat-embed-logging-juli</artifactId>
		    <version>8.0.23</version>
		</dependency>
	</dependencies>
	<build>
	    <finalName>maventest</finalName>
	    <plugins>  
                <plugin>  
                    <groupId>org.springframework.boot</groupId>  
                    <artifactId>spring-boot-maven-plugin </artifactId>  
                </plugin>  
            </plugins>  
	</build>
</project>

至些,我們的Spring boot專案已經搭建完成,併成功的運行了HelloWorld的專案。