【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

时间:2018-08-17作者:klpeng分类:IT综合浏览:314评论:0

一、Spring Boot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。SpringMVC是非常伟大的框架,开源,发展迅速。优秀的设计必然会划分、解耦。所以,spring有很多子项目,比如core、context、bean、mvc等。这对知根底的人来说很简单明了,然而springmvc就是为了傻瓜式的操作而发明的。对于初学springmvc的人来说,想要入手就开发需要拷贝一连串的dependency而不知道这个是干嘛,不知道是不是少了依赖。像我刚接触springmvc的时候到处百度教程而发现各有不同,于是复制了一个又一个代码却不能自己设置,根本原因是不了解各个依赖的包。

Spring-Boot 正是为了解决繁复的代码配置而产生的。Spring-Boot 也是基于java-base 开发的代码,及不用xml文件配置,所有代码都由java来完成。还可以加入Groovy的动态语言执行。

本文是一个Spring Boot入门级的helloworld程序。

 

二、准备工作

  • Java JDK1.7(安装过程省略)
  • maven:apache-maven-3.3.9(安装过程省略)
  • eclipse(安装过程省略)
  • spring-boot-1.5.1

三、用Spring Boot新建web项目

新建一个maven工程(注意,不要勾选create from archytype,虽然它会帮你创建骨架,但是会从外网下载一些东西,很慢,导致会卡在那,下载东西的时间,还不如手工创建一下目录,分分钟搞定)。

然后输入相应的groupId,artifactId。

项目创建过程就省略了。项目建好后,目录结构是这样的:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

打开pom.xml文件,添加<parent></parent>节点:

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  4. <modelVersion>4.0.0</modelVersion>

  5. <groupId>com.example</groupId>

  6. <artifactId>myproject</artifactId>

  7. <version>0.0.1-SNAPSHOT</version>

  8. <parent>

  9. <groupId>org.springframework.boot</groupId>

  10. <artifactId>spring-boot-starter-parent</artifactId>

  11. <version>1.4.0.RELEASE</version>

  12. </parent>

  13. <!-- Additional lines to be added here... -->

  14. </project>

上面没有添加任何依赖,但仍然可以build。使用命令行:mvn package 对项目进行打包。

注意,是当前项目路径E:\workspace-springBoot\zsqSpringBoot>下执行命令。当然,你也可以使用IDE,不过使用文本编辑器会让我们对它更理解。

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

现在需要添加依赖 -- 其实就是把依赖的jar添加到buildpath。由于我们已经继承了 spring-boot-starter-parent ,而 spring-boot-starter-parent 又提供了 dependency-management ,所以我们可以忽略被选中依赖的版本。

在添加依赖之前,我们先看一下现在已有什么:mvn dependency:tree。该命令会打印一个当前项目的依赖树。

结果表明,当前没有任何依赖。 如下:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

OK,现在我们添加spring-web项目依赖:

 
  1. <dependencies>

  2. <dependency>

  3. <groupId>org.springframework.boot</groupId>

  4. <artifactId>spring-boot-starter-web</artifactId>

  5. </dependency>

  6. </dependencies>

现在再次查看一下依赖树。

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程
 

可以看出,spring-boot-starter-web  包含了很多内容,spring-webmvc、spring-web、jackson、validation、tomcat、starter。

 

好,接下来修改pom.xml,我直接贴上我的pom.xml完整配置信息:

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  4. <modelVersion>4.0.0</modelVersion>

  5.  
  6. <groupId>com.zsq.msb</groupId>

  7. <artifactId>zsqSpringBoot</artifactId>

  8. <version>0.0.1-SNAPSHOT</version>

  9.  
  10. <!-- Maven POM文件继承 spring-boot-starter-parent -->

  11. <parent>

  12. <groupId>org.springframework.boot</groupId>

  13. <artifactId>spring-boot-starter-parent</artifactId>

  14. <version>1.4.0.RELEASE</version>

  15. </parent>

  16.  
  17. <!-- 为一个web应用程序添加典型的依赖关系, Starter POMs依赖 -->

  18. <dependencies>

  19. <dependency>

  20. <groupId>org.springframework.boot</groupId>

  21. <artifactId>spring-boot-starter-web</artifactId>

  22. </dependency>

  23. </dependencies>

  24.  
  25. <!-- Spring Boot也提供了一个可选的 Maven Plugin来创建可执行的jars -->

  26. <build>

  27. <plugins>

  28. <plugin>

  29. <groupId>org.springframework.boot</groupId>

  30. <artifactId>spring-boot-maven-plugin</artifactId>

  31. </plugin>

  32. </plugins>

  33. </build>

  34.  
  35. </project>


可以看出,继承了spring-boot-starter-parent,依赖了junit,spring-boot-starter-web,spring-boot-maven-plugin。以前我们在spring的配置,spring-boot都会按照默认配置,帮我们弄好。(你可以像使用标准的Java库文件一样使用Spring Boot。简单的将需要的 spring-boot-*.jar 添加到classpath即可。)

Spring Boot不要求任何特殊的工具集成,所以可以使用任何IDE,甚至文本编辑器。只是,仍然建议使用build工具:Maven 或 Gradle。

Spring Boot依赖使用 org.springframework.boot groupId 。通常,让你的Maven POM文件继承 spring-boot-starter-parent,并声明一个或多个 Starter POMs依赖即可。Spring Boot也提供了一个可选的 Maven Plugin来创建可执行的jars。

需要注意的是, spring-boot-starter-parent 是一个非常好的方法,但并不适用于所有情况。有时你需要继承其他的POM,或者你不喜欢默认的设置,可以使用另外的方式。
完成后下载了相关的额jar包,如下图:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

 

 

 

现在就可以开始写代码了。 由于Maven默认编译路径为 src/main/java 下面的源码,所以,默认设置下,需要创建这些文件夹。然后,编写文件 src/main/java/Example.java:

 
  1. package com.zsq.msb.dexam;

  2.  
  3. import org.springframework.boot.SpringApplication;

  4. import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

  5. import org.springframework.boot.autoconfigure.SpringBootApplication;

  6. import org.springframework.stereotype.Controller;

  7. import org.springframework.web.bind.annotation.RequestMapping;

  8. import org.springframework.web.bind.annotation.RequestMethod;

  9. import org.springframework.web.bind.annotation.ResponseBody;

  10. import org.springframework.web.bind.annotation.RestController;

  11.  
  12. @Controller

  13. @EnableAutoConfiguration

  14. public class Example {

  15.  
  16. @RequestMapping(value ="/home", method = RequestMethod.GET)

  17. @ResponseBody

  18. public String home(){

  19. return "你好,Spring Boot";

  20. }

  21.  
  22. public static void main(String[] args){

  23. SpringApplication.run(Example.class, args);

  24.  
  25. }

  26.  
  27.  
  28. }

这里我们只需要关心 @EnableAutoConfiguration 即可。这个注解是让Spring Boot猜测 你想怎么配置Spring,但实际上,它是根据你添加到classpath中的依赖来判断的。

注意,自动配置 可以配合 Starter POMs 一起工作,但二者不是捆绑到一起的。你仍然可以将Starter POMs中的依赖单独拣出使用,Spring Boot还是会自动配置。

现在可以右键运行main方法,效果如下:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

当你看到这样的运行后的效果,说明配置是成功的,这样也就相当于项目已经启动了。(当然,由于我们使用了 spring-boot-starter-parent POM,所以可以使用 mvn spring-boot:run来启动项目(根路径)。)

注意:在启动之前,先使用Maven来install(打包),你可以在/target目录下看到zsqSpringBoot-0.0.1-SNAPSHOT.jar,大约10 Mb左右。可以通过 jar tvf target/zsqSpringBoot-0.0.1-SNAPSHOT.jar来查看其中的内容。此外,在/target目录下,还可以看到 zsqSpringBoot-0.0.1-SNAPSHOT.jar.original,这是Maven打包出来的。也可以使用命令来启动项目,在项目文件下执行命令如:java -jar target/zsqSpringBoot-0.0.1-SNAPSHOT.jar。

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

使用命令启动项目效果如下:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

执行 ctrl+c,退出。

另外,查看日志可以发现默认使用的是tomcat,端口绑定在8080:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

现在让我们来访问:http://localhost:8080/home。如下图:

【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

就可以看到我们代码中输出的字样:“你好,Spring Boot”了。

回首这个过程,是不是相比于以前快速了许多呢!!

源码下载地址:http://download.csdn.net/detail/zsq520520/9753537

原文链接:https://blog.csdn.net/zsq520520/article/details/55050446

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢