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

上一篇:Android Drawable和Bitmap区别


下一篇:vmware中centos6.5无法启动拷贝出里面的资料的方法