跟着J哥学Java 001

这是一篇记录JAVA的学习笔记. 其中的工程代码参见: https://github.com/ityouknow/spring-boot-examples

  1. 项目spring-boot-hello

1.1 概述
Spring Boot 3.0 Hello World 示例

1.2 关键部分解释

1.2.1 工程结构
工程结构
如图所示,该工程为Maven工程, 入口在 HelloApplication.java 中, 路由的控制仅仅有一个 HelloController.java实现。最终在 http://localhost:8080 根路由下返回 “Hello Spring Boot 3.x!” 字符串。

1.2.3 配置文件
application.properties 文件为该工程的配置文件,但是目前为空。即采用默认配置。

1.2.4 单元测试
HelloApplicationTests.java为测试项目文件, 当前项目无测试内容。

1.3 示例代码

1.3.1 坐标的引用.
pom.xml文件中主要引用的坐标有:
在这里插入图片描述
在这里插入图片描述
其中parent是父坐标,spring-boot-starter-web和spring-boot-starter-test分别是web和test用到的坐标.

1.3.2 代码启动入口.
该项目的启动入口在HelloApplication.java文件中。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }
}

通过注解@SpringBootApplication实现.
@SpringBootApplication 注解是 Spring Boot 框架中的一个复合注解,它是以下三个注解的组合:
@SpringBootConfiguration : 用于标识配置类,等价于原来的 @Configuration 注解。
@EnableAutoConfiguration : 用于启用自动配置,表示 Spring Boot 会根据应用所声明的依赖来自动配置应用。
@ComponentScan : 用于启用组件扫描,表示 Spring 会扫描该类所在的包及其子包中的类,并将其中标识了相关注解的类实例化为 Bean。
总的来说,@SpringBootApplication 注解是 Spring Boot 框架中的一个组合注解,用于标识这是一个 Spring Boot 应用的入口类,它包含了 @SpringBootConfiguration、@EnableAutoConfiguration 和 @ComponentScan 三个注解的功能,可以帮助我们自动配置应用、扫描组件、实例化 Bean。

1.3.3 控制器
该项目目前实现了一个简单的 HelloController控制器(在文件HelloController.java中)。
其主要作用是做web路由。目前只有一个根路由功能,返回一个字符串。
在 Spring Boot 中,控制器是一种用于处理 HTTP 请求的组件。
下面是一个简单的例子:

package com.example;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
    return "Hello, " + name + "!";
    }
}

这个控制器类使用了 @RestController 注解,表示它是一个控制器类。这个类中有一个方法,使用了 @GetMapping(“/hello”) 注解,表示这个方法将处理 GET 请求 /hello。这个方法中有一个参数,使用了 @RequestParam 注解,表示这个参数是从请求中获取的。
当用户访问 http://your-server-address/hello 时,控制器就会接收到请求并执行对应的方法,并返回字符串给用户。
除了使用 @GetMapping之外,还有其它注解可以用来处理不同类型的请求如:
@PostMapping
@PutMapping
@DeleteMapping
还有一些注解可以用来获取请求的信息,如
@PathVariable
@RequestBody
使用这些注解可以更方便的控制器来处理请求.

@RestController注解
@RestController 注解是 Spring 框架中用于标记控制器类的注解。它是一个组合注解,包含了 @Controller 和 @ResponseBody 两个注解。
@Controller 注解是 Spring 框架中用于标记控制器类的注解。
@ResponseBody 注解是 Spring 框架中用于将方法的返回值写入 HTTP 响应体的注解。
综上所述,@RestController 注解用于标记类是控制器类并且将方法的返回值写入 HTTP 响应体。
如果一个类上有@RestController注解,那么这个类中所有的方法都会返回响应体而不是页面,通常用于返回json、xml等数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值