Spring Boot(四):工程结构

上篇文章中生成的web服务,项目结构如下:


这是一个最简单的Spring Boot项目,项目结构说明如下:

DemoApplication:带有main()方法的启动类

static:放置静态资源文件

templates:放置前端模版文件

application.properties:配置文件

DemoApplicationTests:单元测试类

pom.xml:Maven构建说明文件

我们文章中的所有实例都是基于前后端分离的,static和templates文件夹没有用,可以删除,同时在com.tn666.demo下增加下面的文件夹:

dao:数据访问层

entity:实体类,对应数据库的表

service:业务逻辑层

vo:值对象,用于业务层之间的数据传递,可以和表对应,也可以不对应

controller:控制层,对外提供接口

util:工具类放在这里

修改后的工程结构如下:


现在我们把上篇文章中的helloSpringBoot方法移动到controller中:

1、创建HelloController类

1)在controller文件夹下创建HelloController类

2)在类上增加注解@RestController

2、把helloSpringBoot方法移动到HelloController类中

1)把DemoApplication类中的helloSpringBoot方法移动到HelloController类中

2)把DemoApplication类上面的@RestController注解删除

3、访问服务

访问http://localhost:8080,可以正常打印Hello Spring Boot

4、增加接口路径

通常情况下,一个项目中我们会写很多接口,这就要求通过路径和接口名称来区分不同的接口

1)在HelloController类上,增加注解@RequestMapping("hello")

2)把helloSpringBoot()方法上的@RequestMapping("/")修改为@RequestMapping(value = "get", method = RequestMethod.GET)或者@GetMapping("get")

5、调用接口

访问http://localhost:8080/hello/get,可以看到打印出Hello Spring Boot

6、注解说明

@RestController:相当于@ResponseBody + @Controller

@ResponseBody:该类中所有的API接口返回的数据,都会以Json字符串的形式返回给客户端,除了String,如果是String,则仍然返回String

@Controller:

1)定义了一个控制器类

2)将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化

@RequestMapping:一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示该类中的所有响应请求的方法都是以该地址作为父路径。

@GetMapping:这个注解默认封装了@RequestMapping(method = RequestMethod.GET)

更多内容,请关注公众号图南随笔:

猜你喜欢

转载自blog.csdn.net/tunan666/article/details/118859425