Spring Boot 入门学习总结(一)之工程搭建

作者: 张少林同学 | 来源:发表于2017-05-15 21:36 被阅读256次
加油.png

前言:作为一个Android开发者,虽然不用自己写后台接口,但是出于自己平时练习需要,以及想着拓展一下自己的知识宽度,于是就想着来学习一下java后台开发,自己写点restful接口玩玩,(~没事瞎装装逼)。了解了一下现在的java后台开发环境,还是以Spring为主,听说Spring Boot简化了不少配置,于是开始Spring Boot零基础踩坑。

Spring Boot 的主要优点

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

一、快速构建工程

Intellij IDEA 是目前java开发最好用,最智能的ide了,没有之一,连谷歌都放弃eclipse了,我们初学者也赶快拥抱它吧。使用起来比较高效率,Intellij IDEA 已经加入 Spring Initializr 工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spring Boot工程。

  • 在菜单栏选择 File-->New-->Project-->Spring Initializr 。在这个页面要设置一下本地 jdk,还有Service URL为https://star.spring.io..这个路径的作用就是当我们构建工程的时候,会去这个网址下载Spring Boot所需要的所有组件,当然了,idea已经帮我们配置好了,我们只需要点击next即可。
  • 之后就是自己设置一下工程的一些基本属性了,在这里我们需要输入工程名字,类型选择Maven Project,因为我们是基于maven构建工程的,其实也可以用gradle来构建,但是貌似现在还是使用maven居多,我们暂且使用maven吧。
  • 点击Next之后进入Spring Boot版本和依赖管理的窗口。选择一下Spring Boot版本。在选择web依赖,因为我们要构建的是web应用。
  • 最后点击Next,再配置一下工程名,工程存储路径,点击Finish就完成工程的构建了。

二、工程目录介绍以及maven构建的坑

构建完工程之后,会自动生成一个工程目录 ,主要如下所示:

  • src/main/java下: DemoApplication.java 程序运行入口,可以直接用来启动当前项目。
  • src/main/resources : application.properties 我们一般在这里配置一些信息
  • src/test/:我们做单元测试的时候,代码都是存放在这个目录下

下面看看 Pom.xml 文件里面的内容,pom.xml文件是用来管理我们所需要的依赖的,我们需要什么组件依赖,可以在里面添加,然后通过maven构建就可以了,这里推荐一款maven依赖管理插件Maven Help,方便管理所有依赖.

        <dependency>
            <!--我们的工程是一个Web应用-->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <!--测试模块,包括JUnit、Hamcrest、Mockito-->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

在这里需要注意的是:我们没有特别处理,maven是通过国内镜像下载所需依赖的,亲测慢成狗,比乌龟还要慢,这里我们需要配置一下阿里云的镜像。下面顺便说一下idea中如何配置Maven.

Ctrl + Alt + S 打开 Settings ,打开 Build,Execution,Deployment 选项,打开 Build Tools 选项,打开 Maven 选项。

注意:若在工程中打开 Settings ,则设置是当前项目,For current project ; 若在 Welcome 页打开 Settings ,则设置是 所有项目,For default project 。

ide marven配置.png

这里自定义本地maven仓库之后,我们添加依赖之后,下载下来的jar会存放在自定义路径里。下次再使用依赖的时候,就不用再去远程下载依赖了,直接引用本地依赖。关于国内镜像下载慢的问题,我们是自定义Seting文件(拷贝本地maven目录里面的conf路径下的setting文件),并在mirrors根节点下添加如下子节点即可。之后速度就可以起飞啦~

    <mirror>  
        <id>nexus-aliyun</id>  
        <mirrorOf>central</mirrorOf>    
        <name>Nexus aliyun</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
    </mirror> 

三、构建第一个Restful API 程序

编写 HelloWorldController 类,如下所示:

/**
 * Created by Administrator on 2017/5/2 0002.
 * @Controller:修饰class,用来创建处理http请求的对象
 * @RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,
 * 如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。
 * @RequestMapping:配置url映射
 * @RequestParam修饰方法参数,从页面中传递参数来进行查询条件或者翻页信息的传递
 * url中的id可通过@PathVariable绑定到函数的参数中
 */
@RestController
@RequestMapping(value = "/users")// 通过这里配置使下面的映射都在/users下
public class HelloWorldController {

    @GetMapping("/say")
    public String sayHello(){
        return "Hello World! ";
    }
}

直接运行程序,在浏览器输入 http://127.0.0.1:8080/users/say 就可以看到输出 Hello World! 是不是很简单?作为一个android开发,以前没有接触过Spring 或者Spring Mvc,但是Spring Boot也可以很快就上手了。虽然在实际操作当中也是遇到了不少的困难,但这是肯定的,刚开始接触一块新的东西,虽然看起来简单,但是难免会踩坑,但是这也阻挡不了我们拥抱新事物的决心 哈哈~~这里也就是做个笔记总结,先来个感官的认识,后面再记录一些更深入的使用。。

相关文章

网友评论

  • Chinesszz:如果把启动类的扫描规则和资源路径说清楚就更好了。
    张少林同学: @chinesszz多谢指点, 这篇文章只是Spring Boot系列入门第一篇,主要以工程搭建的过程总结为主,后续还会整理新的文章的哈

本文标题:Spring Boot 入门学习总结(一)之工程搭建

本文链接:https://www.haomeiwen.com/subject/ldqkxxtx.html