SpringBoot项目介绍

本文介绍了如何创建SpringBoot项目,包括通过SpringInitializr或IDE的方式。文章详细讲解了工程结构,如静态文件、源代码组织、配置文件等,并探讨了常用注解的作用,如@SpringBootApplication、@RestController、@RequestMapping等,以及它们在处理HTTP请求和数据绑定中的功能。
摘要由CSDN通过智能技术生成

目录

前言

创建SpringBoot项目

工程结构

常用注解

@SpringBootAppication

@RestController 

@RequestMapping

@PathVariable

@RequestParam

 @RequestBody

@lombok

@Mapper

@Autowired @Resource

@Param


前言

本文主要介绍SpringBoot项目是如何搭建的,工程的结构介绍,以及常用的注解。

创建SpringBoot项目

可以在官网下载

Spring Initializr

 也可以通过IDE创建

工程结构

static->存放静态文件

XXAplication文件-->用于启动项目

src/test/java-->用于存放测试文件,文件以Test结尾

src/main/java-->一般分为controller,model,mapper,service

  • controller相当于MVC架构的C层,接口层,用于业务逻辑的实现以及根据前端的传参进行业务操作。
  • model相当于MVC架构的M层,其属性值要与数据库一致。
  • mapper相当于DAO层,与数据库关联,执行SQL语句,接口提供为service。
  • service针对实际业务,与数据库结合,操作数据库的方法

pom.xml-->是各种依赖库的配置,可以在这里添加需要的依赖库。

application.properties-->配置文件,可以做一些自定义配置,可以去修改服务的端口号。

常用注解

@SpringBootAppication

项目启动类里的@SpringBootAppication

下面的博客写的很详细,推荐阅读。

@SpringBootApplication详解_@springbootapplication参数_adwaiter的博客-CSDN博客

@RestController 

@RestController 是@Controller和@ResponseBody的结合体,@Controller是用于处理http请求的,@ResponseBody作用是该类所有API接口返回的数据,会以字符串JSON的形式返回给客户端。

@RestController会告诉Spring,控制器中所有的处理器方法的返回值都要直接写入响应体中。(spring实战第五版)

@RequestMapping

其可以处理http请求的方法,比如 GET、POST、PUT、DELETE。

每种请求方法也有对应的注解

GET请求 @GetMapping

POST请求 @PostMapping

PUT请求 @PutMapping

DELETE请求 @DeleteMapping

下面的两篇文章介绍的很详细:

@RequestMapping 注解使用技巧(完整详解)_Whitemeen太白的博客-CSDN博客

@RequestMapping详解_普通网友的博客-CSDN博客

一个简单的Get接口实现

package com.learn.startlearn.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {
    @GetMapping
    public String hello(){
        System.out.println("调用了hello接口");
        return "hello java!";
    }
}

@PathVariable

请求路径中的{XXX}占位符可以通过@PathVariable注解绑定到传参中。

详细可阅读这个博主写的,非常形象,一看就懂。

@PathVariable注解的用法和作用(Demo详解)_辰兮要努力的博客-CSDN博客

这里要注意一点:同一个url下、相同的请求方法、方法名唯一,否则编译不通过。

@RequestParam

用于传参时,将制定的请求参数赋值给形参,默认必传参数,也可以改成false,设置成非必传参数,也可以设置默认值,具体使用举例见下面的博客。

@RequestParam注解的详细介绍 - tomingto - 博客园 (cnblogs.com)

 @RequestBody

用到最多的一种传参方式,接受前端传过来的json格式。

可以查看下面的这个例子,很简单的实现。

JSON处理(一):请求响应的JSON化 @RequestBody 和 @ResponseBody - 知乎 (zhihu.com)

@lombok

lombook里有很多实用的注解,通过这些注解的使用,不需再手写getter和setter等方法,简化了编程,具体使用原理可以参考这篇博客,但其使用也有弊端,也可以阅读下面的放弃使用lombok的这篇文章。

Lombok简介、使用、工作原理、优缺点_ThinkWon的博客-CSDN博客

为什么要放弃 Lombok ? - 知乎 (zhihu.com)

@Mapper

使用mapper,可以不用mapper映射文件,其包含的注解有@Select、@Insert、@Update、@Delete,其主要是对数据库进行操作,对应数据库的查询、插入、更新、删除。

这篇博客介绍得很详细。

@Mapper注解_GuochaoHN的博客-CSDN博客

@Autowired @Resource

用于引入依赖,Controller层可以引入mapper层的类

@Autowired和Resource两者的区别可以阅读下面的博客,很清晰。

@Autowired和@Resource到底有什么区别_一堆土豆33的博客-CSDN博客

@Param

给SQL语句中的参数赋值

【详解】@Param注解的用法_"@param(\"ew\")"_普通网友的博客-CSDN博客

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MRJJ_9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值