什么是敏捷开发
学习的过程建议也采用敏捷开发的思想。
比如本篇博客的写作过程,不要想着一次性把所有东西搞定之后再来实践。
而是按照迭代的过程来,每次学习其中的一块内容,否则容易陷入只动脑子不动手的陷阱中。
学习的过程中,不要因为其他的而打乱当前的计划。
比如计划学习后端,那就不要突然因为自己前端也不会而去学习前端的知识。
为什么要搭建一个多模块的项目
简单来说是为了方便集群化部署。
SpringBoot布道系列 | 目录汇总 | 2019持续更新ing
目录
- 搭建一个web项目,通常包含api,service,dao,common,test 共5个模块
- 日志处理,日志框架配置项,与切面编程的结合
- api层:阮一峰:RESTful API 设计指南 流量控制,访问控制,参数检测
- service层:逻辑控制
- dao层:数据库和框架的配置
- test层:测试实例如何编写
- 前端的框架学习
环境搭建
- 采用IDEA搭建一个多模块的web项目,首先下载安装IDEA和JDK1.8。
- File->new Project -> Maven
GroupId为域名的反写,如com.XXX,
ArtifactId为项目的名称,如springboottest
选择project location,假设为D:\temp\springboottest,
然后点击Finish。 - 创建成功后,删除src文件夹
此时生成的pom.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.huawei</groupId>
<artifactId>spring-boot-test</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
在pom.xml中添加
<packaging>pom</packaging>
pom标签表示对该项目进行聚合,其中的每个module,都是另外一个Maven项目。
可参考mvn pom标签详解
- 创建springboot子模块
在根项目上点击右键,选择Module->Spring Initializr->next
修改Group:com.huawei
Artifact:spring-api
Description
-> next
-> 选择Web -> 选择Spring Web Starter
->next -> Finish。 - 修改pom文件,添加依赖
<dependency>
<groupId>com.huawei</groupId>
<artifactId>spring-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
- 编写测试类,使得访问 http://localhost:8080/test/date获得日期
在service类中编写
package com.huawei.springservice;
import java.util.Date;
import org.springframework.boot.autoconfigure.SpringBootApplication;
public class SpringServiceApplication
{
public static Date getCurDate()
{
Date d = new Date();
return d;
}
}
在api层
package com.huawei.springapi;
import com.huawei.springservice.SpringServiceApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/test")
public class TestController
{
/**
* 获取当前时间
* @return
*/
@GetMapping("date")
public String getDate()
{
return "日期:" + SpringServiceApplication.getCurDate();
}
}
然后点击运行SpringApiApplication(注意一次只能运行一个实例)。
然后访问网页http://localhost:8080/test/date得到返回结果
日期:Wed Jun 26 11:30:56 GMT+08:00 2019
至此,多模块maven搭建完毕,其他层可以类似进行搭建,里面关于pom文件配置下回分解。
网友评论