简介
Spring Boot如何搭建完整项目
在项目开发中我们一般情况下提供给APP或者网站应用的接口一般的请求方式是GET、POST、PUT等等,那么接下来我们将通过一个简单的案例来进行分析,带领大家进入Spring Boot项目的开发,创建(层级分明,思路请析)、编码,主要是 搭建项目 等,如何搭建一个Spring Boot开发项目呢?。
项目结构创建
项目目录如下,包层级分明
一般如下图所示:
在src目录下的main/java里面的创建的包级目录,进行分析如下:
1 | /---------------------------------- |
主要代码分析
这里主要是写一个简单的事例进行参考包层级之间的调用,各个层次的封装,达到一个完整的开发Spring Boot项目模板。
代码注解如下:
1.EirunyeController.class,这里进行一些常用的请求GET
、POST
、PUT
等案例测试,代码没用贴全,请查看EirunyeController.class。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49@RestController
@RequestMapping("/Eirunye") //设置请求的父级标签URI
public class EirunyeController {
@Autowired //注:Autowired是按类型进行装配,可获取它所装配类的属性
EirunyeService eirunyeService;
/**
* 访问返回数据
*
* @return JSON EiBean
* @throws Exception 出现异常处理
*/
@GetMapping(value = "/get/bean")//url===>http:localhost:8091/Eirunye/get/bean
public Result<EiBean> getEiBeanData() throws Exception {
return eirunyeService.getEiBeanData();
}
/**
* POST请求
* @param eiBean
* @return
* @throws Exception
*/
@PostMapping(value = "/save/bean") //url===>http:localhost:8091/Eirunye/save/bean
public Result<EiBean> saveEiBeanData(@Valid EiBean eiBean) throws Exception {
return eirunyeService.saveEiBeanData(eiBean);
}
/**
* PUT请求
* @param eiBean
* @return
* @throws Exception
*/
@RequestMapping(value = "/put/eiBean", method = RequestMethod.PUT)//url===>http:localhost:8091/Eirunye/put/eiBean
public Result<EiBean> putEiBeanData(@Valid EiBean eiBean) throws Exception{
return eirunyeService.putEiBeanData(eiBean);
}
/**
* DELETE 请求案例
* @param id id
* @return JSON EiBean
* @throws Exception 异常处理
*/
@DeleteMapping(value = "/delete/Bean/{id}")//url===>http:localhost:8091/Eirunye/delete/Bean/1
public Result<EiBean> deleteEiBeanDataById(@PathVariable("id")Integer id) throws Exception{
return eirunyeService.deleteEiBeanDataById(id);
}
}
2.EirunyeService.class
@Service 用于标注业务层组件:将当前类注册为Spring的Bean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @Service // 用于标注业务层组件:将当前类注册为Spring的Bean
public class EirunyeService {
/**
* @return Result<EiBean>
* @throws EirunyeException 异常处理
*/
public Result<EiBean> getEiBeanData() throws EirunyeException{
EiBean eiBean = new EiBean();
eiBean.setName("Eirunye");
eiBean.setAge(19);
eiBean.setHobby("Java Spring Boot");
return ResultUtil.globalInfo(ResultEnum.SUCCESS,eiBean);
}
}
EiBean.class
1 | public class EiBean { |
*ResultUtil.class表示返回JSON数据封装1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21/**
* Author Eirunye
* Created by on 2018/8/24.
* Describe ResultUtil 返回结果封装
*/
public class ResultUtil {
public static Result globalInfo(ResultEnum resultEnum, Object object) {
Result result = new Result();
result.setCode(resultEnum.getCode());
result.setMsg(resultEnum.getMsg());
result.setData(object);
return result;
}
public static Result error(Integer code,String msg){
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
return result;
}
}
ResultEnum枚举,进行封装符合字符提示
1 | /** |
*EirunyeException.class这里表示封装的一次处理。添加异常处理,这里只是简单的提示,后期会讲解到Spring Boot如何优雅的封装异常。
1 | /** |
- 常用的注解 参数注解官方文档
这里主要讲解的是常用的注解方法。需要更多的情况官方文档。
注解 | 解释说明 |
---|---|
@RestController |
表示的是:@ResponseBody + @Controller ,作用于类,返回默认为JSON数据 |
@Controller |
表示视图可以解析jsp、xml等文档,需要在方法中添加@ResponseBody ,返回JSON |
@ResponseBody |
作用于方法中,如果类中有@RestController ,就不需要添加@ResponseBody |
@RequestMapping("/Eirunye") |
作用于类中是表示设置请求的父级标签URI,每个URI必须带父级标签如:http://localhost:8080/Eirunye/xxxx 作用于方法是表示默认为 GET 请求@RequestMapping(value = "/put/eiBean",method = RequestMethod.PUT) 表示PUT 请求,如图RequestMethod.png 常用的请求方法 |
@GetMapping(value = "/bean") |
表示GET 请求@GetMapping(value = "/get/hello/{id}") 表示参数id ,看上面代码引用@PathVariable("id") |
@PathVariable("xx") |
表示在方法的参数中引用,获取URL中{xx} 中的数据,xx 表示的字段相同,看以上代码id |
@RequestParam |
表示请求参数,看以上代码(@RequestParam("name") String name, @RequestParam("age") int age) |
@PostMapping(value = "/save/bean") |
表示POST 请求,@RequestMapping(value = "/save/bean", method = RequestMethod.POST) 简写,参数(@Valid EiBean eiBean) 或者params 形式等 |
@DeleteMapping(value = "delete/Bean/{id}") |
表示DELETE 请求,@RequestMapping(value = "delete/Bean/{id}", method = RequestMethod.DELETE) |
@Service |
用于标注业务层组件:将当前类注册为Spring的Bean,操作数据库一般在这里进行 |
- 注:在后期文章遇到新的注解会说明到。
测试
在接下来会有一篇博文会详细讲解在开发中我们如何进行测试(#),这里只进行一些简单测试
在这里我们只需要进行一下访问结果,如下:
- Postman请求如下:
Postman请求有全部满足要求的请求,切换请求方法即可。
- IDEA请求如下:
下载
总结
1.学习本篇,我们知道如何搭建一个好的项目工程,常用的功能架构
2.我们在搭建项目的时候要尽可能考虑到我们需要的处理逻辑,选型,然后进行封装,这只是一个简单的项目搭建,在正常情况下,假如添加MyBatis或者其他数据库操作时,最好分成处理,这里我们阅读代码非常方便,异常处理非常重要,我们能快速定位错误位置等等。
3.打家可以通过该案例来进行搭建项目,符合自己的代码编写项目操作。
4.本案例代码大家完全可以引用到自己的项目中进行封装开发。
推荐
我的博客
大家可以到我的博客https://eirunye.github.io进行浏览相关文章,大家一起相互探讨技术。Spring Boot 系列
如果大家想了解更多的Spring Boot相关博文请进入我的Spring Boot系列博客栈