首页 > 其他分享 >springboot常用注解

springboot常用注解

时间:2023-05-24 19:45:10浏览次数:30  
标签:常用 springboot RequestParam Spring public 参数 注解 id

Spring Boot 是基于 Spring 框架的部分组件进行封装,所以大部分注解都是 Spring 框架中常用的注解。下面是 Spring Boot 中常用的注解:

-----------------------------------------------------------------------

1、@SpringBootApplication:这个注解是 Spring Boot 应用的入口标志,同时也标注了这是一个Spring Boot 应用程序。

这个注解通常使用在项目的启动类上,例如:

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

2、@RestController:用于标注一个类是一个 RESTful 接口的控制器。

@RestController 是 Spring Boot 中的一个注解,用于标注一个类为 RESTful Web 服务的控制器。它可以被用来处理 HTTP 请求,常见的操作包括获取数据、更新数据、删除数据等。

@RestController 注解是一个复合注解,它包含了 Spring 的 @Controller 注解和 @ResponseBody 注解。@Controller 注解用来标注一个类为 Spring MVC 控制器,而 @ResponseBody 注解则用来指定方法返回的结果直接写入 HTTP 响应体中。

@RestController 的主要作用是简化 RESTful Web 服务的开发,它能够自动将 Java 对象转换为 JSON/XML 数据格式,方便客户端进行解析和使用。通过 @RestController 可以在类中定义多个方法来处理不同的 HTTP 请求,使代码更为清晰和易于维护。

3、@RequestMapping:用于映射请求到控制器方法。

4、@PathVariable:用于提取请求 URL 中的参数信息。

5、@RequestParam:用于提取请求头或请求参数中的参数信息。

6、@RequestBody:用于接收请求体中的数据信息。

7、@ResponseBody:用于返回响应体中的数据信息。

8、@Autowired:用于标注一个类是需要自动装配的 Bean 对象。

@RestController、@RequestMapping、@PathVariable、@RequestParam、@RequestBody、@ResponseBody、@Autowired

这几个注解通常一起使用来实现 RESTful 接口,例如:

@RestController
@RequestMapping("/api")
public class UserController {
  @Autowire
  private UserRepository userRepository
@GetMapping("/{id}") public User getUser(@PathVariable Long id) { return userRepository.findById(id); } @PostMapping public User createUser(@RequestParam String name, @RequestParam int age) { User user = new User(name, age); return userRepository.save(user); } @PutMapping("/{id}") public User updateUser(@PathVariable Long id, @RequestBody User user) { user.setId(id); return userRepository.save(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable Long id) { userRepository.deleteById(id); } }

 

@PathVariable 和 @RequestParam 都是 Spring MVC 中用于处理请求参数的注解,但是它们有一些区别。

@RequestParam 注解用于将请求参数绑定到方法处理的参数上,它可以用来处理除了请求体之外的所有参数,包括查询参数、表单提交参数和 URL 中的参数。例如:

@GetMapping("/example")
public String handleExampleRequest(@RequestParam("id") Long id, @RequestParam("name") String name) {
    // ...
}

上面的例子中,@RequestParam 注解将 “id” 和 “name” 请求参数绑定到了方法的参数上,这些参数可以通过请求的 URL 或表单提交来设置。

而 @PathVariable 注解则用于将 URL 中的占位符参数绑定到方法处理的参数上。例如:

@GetMapping("/example/{id}")
public String handleExampleRequest(@PathVariable("id") Long id) {
    // ...
}

上面的例子中,@PathVariable 注解将 URL 中的 “id” 占位符参数绑定到了方法的参数上,这个参数可以通过请求的 URL 中进行设置。

可以看到,@RequestParam 注解用于处理 HTTP 请求中的键值对参数,而 @PathVariable 注解用于处理URL中的动态参数。

 

9、@Component:用于标注一个类是 Spring 组件,可以被 Spring 自动扫描并添加到 Spring 容器中。

10、@Configuration:用于标注一个类是 Spring 的配置类,在这个类中可以定义 Bean 对象以及其他配置信息。

11、@Value:用于注入配置文件中的属性值。

12、@ConditionalOnProperty:用于在配置文件中某个属性存在时才加载对应的配置信息。

 

@Component 是 Spring Framework 提供的基本注解之一,可以用来将一个普通的类标记为 Spring 容器中的一个 Bean,表示这个类的对象实例可以被 Spring 所管理。一般而言,我们将需要在不同的模块中共用的实例都注入到 Spring 容器中,以便程序中的各个模块共享并使用。

下面是一个简单的例子,展示了如何使用 @Component 注解将一个类注册为 Spring Bean:

@Component
public class ExampleBean {
    // ...
}

@Value 是用来获取 Spring 配置文件中的属性值的注解。例如,我们可以在 Spring Boot 的 application.properties 或 application.yml 文件中定义一些属性值,然后使用 @Value 注解注入到程序中。

以下是一个使用 @Value 注解获取属性值的例子:

@Component
public class ExampleBean {
 
    @Value("${example.property}")
    private String property_value;

    // ...
}

上面的例子中,我们使用 @Value 注解注入了一个名为 example.property 的属性值,并将其赋值给了 property_value 字段。

@ConditionalOnProperty 是一个条件注解,可以根据配置文件中的属性值来决定是否启用一个特定的配置类或 Bean。在实际中,我们有时候需要针对特定的属性值和特定的情况来决定启用或不启用某个特定的配置。

以下是一个使用 @ConditionalOnProperty 注解启动条件的例子:

@Configuration
@ConditionalOnProperty(
        name = "example.feature.enabled",
        havingValue = "true",
        matchIfMissing = true
)
public class ExampleConfig {
    // ...
}

上面的例子中,我们使用了 @ConditionalOnProperty 注解,将一个配置类标记为当名称为 example.feature.enabled 的属性值为 true 时才会被启用。同时,设置了 matchIfMissing 为 true,表示如果该属性没有在配置文件中找到,也会被默认匹配。

 

标签:常用,springboot,RequestParam,Spring,public,参数,注解,id
From: https://www.cnblogs.com/lfxx/p/17429314.html

相关文章

  • docker 容器container 镜像image 删除常用备忘
    首先是注意:上面jeecgboot和datahub的容器和镜像都在一起,删除容器的和镜像要注意。要重新部署的话首先要先停掉在跑的容器。通过dockerps查看 红框部分是jeecgboot的前后端容器,其他的是datahub的容器。 2.Jeecgboot是通过jar包部署在cl-mdm容器中。3.部署的过程如下:......
  • linux常用命令
    1.常见命令1.1alias命令别名对于较长的命令,可以将其定义成较短的别名aliasNAME='VALUE'unalias#删除别名-a#取消所有别名\alias#斜杠加别名可以还原同名命令如果想永久有效,要定义在配置文件中仅对当前用户:~/.bashrc对所有用户有效:/etc/bashrc注......
  • java 反射:类和属性是否有注解
    booleanisAnnotationPresent(Class<?extendsAnnotation>annotationClass)元素上是否包含指定类型的注解,存在则返回true,否则返回false<AextendsAnnotation>AgetAnnotation(Class<A>annotationClass)获取元素上指定的注解,如果元素没有该注解返回null<AextendsAnn......
  • oracle常用关键字
    1.sysdatesysdate显示系统当前日期和时间的函数。 2.THIRD_SYSTEM_CONFIG_GK_PK.nextval在Oracle数据库中,THIRD_SYSTEM_CONFIG_GK_PK.nextval是一个序列号生成器。THIRD_SYSTEM_CONFIG_GK_PK.nextval的作用是:1.为第三系统配置表生成唯一的主键值2.每调用一次nextval......
  • linux 查看日志常用命令
    查看日志:查看上下10行:grep-C10'NullPointerException'logback.log当然也可以只看上面10行:grep-B10'NullPointerException'logback.log或者下面10行:grep-A10'NullPointerException'logback.loglinux通过grep根据关键字查找日志文件上下文 1、在标......
  • Ansible常用模块
    Command模块作用:使用ansible自带模块执行一些简单的命令不能使用><|&''等特殊字符,如果需要使用,则用shell模块。常用参数有:chdir:先切换工作目录,再执行后面的命令,一般情况下在编译时候使用;creates:先切换工作目录,再执行后面的命令,一般情况下在编译时候使用;removes:先切......
  • 基于SpringBoot开发一个Restful服务,实现增删改查功能
    前言在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便、快捷。但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练。不过在看了很多关于SpringBoot的介绍之后,并没有想象中的那么难,于是开始准备学习SpringBoot。在闲暇......
  • 记录一下springboot配置filter之后后端获取不到Authorization问题
    fitler中的添加headers是用逗号隔开的,如content-type,Authorization .......原先代码:res.addHeader("Access-Control-Allow-Headers","content-type");修改后:res.addHeader("Access-Control-Allow-Headers","content-type,Authorization");......
  • Linux系统常用命令速查手册
    系统信息arch      #显示机器的处理器架构(1)uname -m  #显示机器的处理器架构(2)uname -r  #显示正在使用的内核版本dmidecode -q        #显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda  #罗列一个磁盘的架构特性hdparm -tT /dev/s......
  • Spring MVC +MyBatis3全注解实例详解
    SpringMVC3.0.5+Spring3.0.5+MyBatis3.0.4全注解实例详解(一):[url]http://www.blogjava.net/bolo/archive/2011/05/23/349655.html[/url]如何配置Eclipse,Maven,Jetty并运行工程.如是使用Tomcat的话,改插件为:[url]http://tomcat.apache.org/maven-plugin......