springboot常用注解的功能

本文介绍了SpringBoot中常用的注解及其功能,包括@Controller、@RequestMapping、@ResponseBody等,并解释了这些注解如何协同工作来实现RESTful API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天在北京找实习单位,最后还是去了自己想去的公司,今天刚好闲下来了就总结一下前段时间学的springboot的注解的功能

@Controller 定义控制层,就是接收URL请求的类,通常和RequestMapping一起配合使用

@RequestMapping 提供路由信息,负责URL到Controller中的具体函数的映射。

@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api ,就是一般我们通过@RequestMapping跳转路径,如果我们加了@ResponseBody 那么结果就会直接显示到界面,这个可以和ajax返回json数据配合使用

@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。

@ComponentScan 组件扫描,可自动发现和装配一些Bean,将一些本来在spring的xml文件中的属性自动装配。

@Bean:用@Bean标注方法等价于XML中配置的bean。

@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。

@EnableAutoConfiguration 自动配置,启用Spring应用程序上下文的自动配置,尝试猜测和配置您可能需要的bean。

@Autowired自动导入。

@PropertySource引用外部配置文件

@Value:注入Spring boot application.properties配置的属性的值。

@Service:一般用于修饰service层的组件

@ConditionalOnMissingBean //当容器里没有指定的Bean的情况下创建该对象

@AutoConfigureAfter(MyBatisConfig.class) //保证在MyBatisConfig实例化之后再实例化该类

 

### Spring Boot 常用注解及其用途 #### @SpringBootApplication 此注解用于标记应用程序的主要入口类,它是一个复合注解,内部集成了多个其他重要的注解功能。具体来说,@SpringBootApplication 实际上包含了@SpringBootConfiguration, @EnableAutoConfiguration 和@ComponentScan三个注解功能[^1]。 ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` #### @ComponentScan 尽管被包含在@SpringBootApplication之中,但有时也需要单独使用@ComponentScan来指定扫描组件的基础包位置。这有助于框架发现并注册自定义实现的服务、存储库和其他bean到应用上下文中[^3]。 #### @ControllerAdvice/@RestControllerAdvice 这两个注解用来创建全局异常处理器或跨切面控制器增强器。通过这种方式可以在一处集中处理所有可能发生的HTTP请求错误响应逻辑,而不需要重复同样的代码片段于各个具体的RESTful API端点内[^2]。 #### @Entity 当构建数据访问层时会频繁遇到@Entity标签;它是JPA(Java Persistence API)的一部分,表明该类映射至数据库表结构中的一行记录。配合字段上的@Column属性一起工作,则能更精确地控制实体对象如何持久化保存入关系型数据库管理系统(RDBMS)。 #### @Service @Service一般应用于业务逻辑层(service layer),表示当前类提供某种特定类型的商业服务操作。此类实例会被自动装配进依赖它的其他Bean里去完成相应的职责划分。 #### @Repository @Repository同样属于分层架构设计模式下的组成部分之一,专门负责封装DAO(Data Access Object)接口的具体实现细节。任何与CRUD(Create Read Update Delete)有关的操作都建议放置在此处以便维护良好的软件工程实践原则。 #### @Autowired @Autowired是最常见的DI(Dependency Injection)注入方式,在声明变量前加上这个关键字就可以让容器帮助寻找合适的候选者来进行赋值动作了。除了构造函数参数外还可以作用于setter方法甚至是普通成员变量之上。 #### @Value 对于那些来自外部环境配置文件中的静态资源路径或者其他常量数值而言,@Value提供了便捷读取途径。只要按照既定格式书写占位符表达式就能轻松获取对应的实际值[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值