Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • Spring常见面试题
  • Spring常用注解与接口
    • 读取配置信息
    • 前后端传值
    • 注解
      • @Import
    • 接口
      • ImportBeanDefinitionRegistrar
      • DeferredImportSelector
  • 容器与Bean
  • AOP
  • Spring事务
  • Spring中的设计模式
  • 手撸Spring

  • 事务嵌套
  • 事件监听器
  • Spring自定义异常
  • Spring
Nreal
2023-11-08
目录

Spring常用注解与接口

# 读取配置信息

读取配置文件application.yml:

port: 9527
library:
	books:
	- name: a
	  description: aa
	- name: b
	  description: bb
1
2
3
4
5
6
7
  1. @value

    @Value("${port}")
    String port;
    
    1
    2
  2. @ConfigurationProperties

    读取配置信息并于 bean 绑定

    // java.home=
    @ConfigurationProperties(prefix = "java")
    public class Bean{
        private String name;
        ...
    }
    
    1
    2
    3
    4
    5
    6

# 前后端传值

  1. 获取参数

    @PathVariable:获取路径参数

    @RequestParam:获取查询参数

    //请求的 url 是:/{123456}/teachers?type=web
    @GetMapping("/klasses/{klassId}/teachers")
    public List<Teacher> getKlassRelatedTeachers(
    @PathVariable("klassId") Long klassId,
    @RequestParam(value = "type", required = false) String type){
        ...
    }
    
    1
    2
    3
    4
    5
    6
    7
  2. 传输数据

    请求体中 Content-Type 为 application/json

    @PostMapping("/register")
    public Response registerController(@RequestBody @Valid User user){
        registerService.save(user);
        return Response.ok();
    }
    
    public class User{
        @NotBlank
        private String userName;
        @NotBlank
        private String password;
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    发送 json数据:

    {
        "userName":"rui",
        "password":"123456"
    }
    
    1
    2
    3
    4

# 注解

# @Import

https://juejin.cn/post/7327137518821736458

# 接口

# ImportBeanDefinitionRegistrar

https://juejin.cn/post/7180731318123118653?searchId=202402282252196299625B65A0D09B886B

# DeferredImportSelector

https://juejin.cn/post/7327138554756464692?searchId=20240228230745DB6AB2EEC09EFAA1B090

Spring常见面试题
容器与Bean

← Spring常见面试题 容器与Bean→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式