当前位置: 首页 > news >正文

java+springboot注释介绍+使用介绍

springboot注释

注解适用场景
@Component通用组件(基础注解,无额外功能)
@Repository数据访问层(DAO)(继承 @Component,处理数据库异常)
@Service业务逻辑层(继承 @Component,语义化标记)
@ControllerMVC 控制器层继承 (继承 @Component,处理 Web 请求)
@Override标识方法重写父类或接口方法,增强代码可读性,编译时检查方法签名一致性
@AutowiredSpring核心注解,按类型自动注入Bean,支持字段、构造器、Setter和方法注入
@Configuration标记类为配置类,替代XML配置,结合@Bean定义Bean。
@Bean在配置类中显式声明Bean,替代XML的标签
@Validated启用Spring验证功能,支持分组验证和方法级验证。
@ConfigurationProperties将配置文件属性映射到Java对象,支持类型安全、嵌套属性和多环境配置。
@RequiredArgsConstructorLombok注解,自动生成包含final或非空字段的构造方法。
@Repository标记数据访问层组件,提供事务支持和异常转换。
@MapperMyBatis注解,标识接口并与SQL映射文件关联。
new HashMap<>()基于哈希表,随机访问快(O(1),需快速查找子节点
new TreeMap<>()基于红黑树,按键排序(O(log n),需有序遍历键时
new LinkedHashMap<>()保留插入顺序,查找速度略低于 HashMap,需保持插入顺序时

一,@Component

  1. 被 @Component 标记的类会被 Spring 的组件扫描机制自动发现,并注册为 IoC 容器中的 Bean。
  2. 通过 @Component(“customName”) 显式指定 Bean 名称。
import org.springframework.stereotype.Component;@Component // 默认 Bean 名称为 "myComponent"
public class MyComponent {public void doSomething() {System.out.println("执行操作...");}
}

二,@Repository

  1. @Repository是Spring专门为​​数据访问层(DAO)​​设计的注解,继承自@Component。
  2. 被标记的类会被Spring组件扫描自动发现并注册为Bean,无需手动配置。
import org.springframework.stereotype.Repository;
import javax.persistence.EntityManager;@Repository
public class UserDao {@PersistenceContextprivate EntityManager entityManager;public User findById(Long id) {return entityManager.find(User.class, id); // JPA查询}
}

三,@Service

  1. 明确标记类属于业务逻辑层,负责处理核心业务规则(如订单处理、用户管理)
  2. 被 @Service 标记的类会被 Spring 组件扫描机制自动发现,并注册到 IoC 容器中。
import org.springframework.stereotype.Service;@Service // 默认 Bean 名称为 "userService"
public class UserService {public User getUserById(Long id) {// 业务逻辑(如调用 DAO 层)return new User(id, "John Doe")

相关文章:

  • Docker制作镜像
  • Sentinel(一):Sentinel 介绍和安装
  • 设计模式之五大设计原则(SOLID原则)浅谈
  • 基于 OpenCV 的图像亮度、对比度与锐度调节
  • 攻防演练:1.木马后门文件演练
  • Neo4j操作指南:修改节点数据与新增节点属性
  • Android Framework阅读经验
  • SCRM软件数据分析功能使用指南:从数据挖掘到商业决策
  • PL端软核FIFO读写
  • 【数据破茧成蝶】企业数据标准:AI时代的智能罗盘与增长基石
  • 机构运动分析系统开发(Python实现)
  • 【漏洞复现】Apache Kafka Connect 任意文件读取漏洞(CVE-2025-27817)
  • 八字排盘小游戏微信流量主小程序开源
  • 用 python 开发一个可调用工具的 AI Agent,实现电脑配置专业评价
  • springboot入门之路(三)_特性
  • Python pip 以及 包的升级
  • 微服务架构入门与 Nacos 组件实战使用详解
  • 22.react和next.js、SSR与CSR的比较
  • 前端如何通过 Blob 下载 Excel 文件
  • day42-硬件学习之温度传感器及(ARM体系架构)
  • 云南文山网站建设制作/济南seo
  • 上海二手房网站/seo可以从哪些方面优化
  • 做同城信息网站怎么赚钱/互联网推广运营是干什么的
  • 如何给网站做2维码/百度网盘app官方下载
  • 网站建设和源代码问题/百度24小时客服电话136
  • 微网站是手机网站吗/百度下载免费官方安装