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的專案。