Myeclipse下使用Maven搭建spring boot項目(第二篇)


現在需要搭建spring boot框架,並實現一個HelloWorld的項目,讓程序真正運行起來。

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

 

  1.  
    <parent>
  2.  
    <groupId>org.springframework.boot</groupId>
  3.  
    <artifactId>spring-boot-starter-parent</artifactId>
  4.  
    <version>1.5.3.RELEASE</version>
  5.  
    </parent>


二、需要在pom.xml中引入spring-boot-starter-web,spring官方解釋spring-boot-start-web包含了spring webmvc和tomcat等web開發的特性。

 

 

  1.  
    <dependencies>
  2.  
    <dependency>
  3.  
    <groupId>org.springframework.boot</groupId>
  4.  
    <artifactId>spring-boot-starter-web</artifactId>
  5.  
    </dependency>
  6.  
    </dependencies>


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

 

 

  1.  
    <build>
  2.  
    <plugins>
  3.  
    <plugin>
  4.  
    <groupId>org.springframework.boot</groupId>
  5.  
    <artifactId>spring-boot-maven-plugin </artifactId>
  6.  
    </plugin>
  7.  
    </plugins>
  8.  
    </build>


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

 

 

  1.  
    @RestController
  2.  
    @SpringBootApplication
  3.  
    public class ExampleSpringBoot {
  4.  
    @RequestMapping("/home")
  5.  
    String home() {
  6.  
    return "Hello World!";
  7.  
    }
  8.  
     
  9.  
    public static void main(String[] args) {
  10.  
    SpringApplication.run(ExampleSpringBoot.class, args);
  11.  
    }
  12.  
    }


其中@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文件

  1.  
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2.  
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3.  
    <modelVersion>4.0.0</modelVersion>
  4.  
    <groupId>com.bocom</groupId>
  5.  
    <artifactId>maventest</artifactId>
  6.  
    <packaging>war</packaging>
  7.  
    <version>0.0.1-SNAPSHOT</version>
  8.  
    <!-- 繼承父包 -->
  9.  
    <parent>
  10.  
    <groupId>org.springframework.boot</groupId>
  11.  
    <artifactId>spring-boot-starter-parent</artifactId>
  12.  
    <version>1.5.3.RELEASE</version>
  13.  
    <relativePath></relativePath>
  14.  
    </parent>
  15.  
    <name>maventest</name>
  16.  
    <url>http://maven.apache.org</url>
  17.  
    <dependencies>
  18.  
    <dependency>
  19.  
    <groupId>org.springframework.boot</groupId>
  20.  
    <artifactId>spring-boot-starter-web</artifactId>
  21.  
    </dependency>
  22.  
     
  23.  
    <dependency>
  24.  
    <groupId>junit</groupId>
  25.  
    <artifactId>junit</artifactId>
  26.  
    <version>3.8.1</version><!--$NO-MVN-MAN-VER$-->
  27.  
    <scope>test</scope>
  28.  
    </dependency>
  29.  
     
  30.  
    <dependency>
  31.  
    <groupId>org.apache.tomcat.embed</groupId>
  32.  
    <artifactId>tomcat-embed-logging-juli</artifactId>
  33.  
    <version>8.0.23</version>
  34.  
    </dependency>
  35.  
    </dependencies>
  36.  
    <build>
  37.  
    <finalName>maventest</finalName>
  38.  
    <plugins>
  39.  
    <plugin>
  40.  
    <groupId>org.springframework.boot</groupId>
  41.  
    <artifactId>spring-boot-maven-plugin </artifactId>
  42.  
    </plugin>
  43.  
    </plugins>
  44.  
    </build>
  45.  
    </project>


至些,我們的Spring boot項目已經搭建完成,並成功的運行了HelloWorld的項目。 --------------------- 本文來自 二一點 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/a78270528/article/details/77573818?utm_source=copy 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM