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

网站建设与推广推荐做关于车的网站好

网站建设与推广推荐,做关于车的网站好,用自己的名字设计logo,揭阳自助建站在Java开发中,注解(Annotation)广泛用于简化代码、配置元数据、框架集成等场景。以下是不同场景下常用的注解分类整理: 一、核心Java注解(内置) Override 表示方法重写父类或接口的方法,编译器会…

在Java开发中,注解(Annotation)广泛用于简化代码、配置元数据、框架集成等场景。以下是不同场景下常用的注解分类整理:


一、核心Java注解(内置)

  1. @Override 表示方法重写父类或接口的方法,编译器会检查方法签名是否正确。

  2. @Deprecated 标记类、方法或字段已过时,使用时编译器会生成警告。

  3. @SuppressWarnings 抑制编译器警告(如"unchecked""deprecation")。

  4. @SafeVarargs 用于抑制泛型可变参数(varargs)的类型安全警告。

  5. @FunctionalInterface 标记接口为函数式接口(仅允许一个抽象方法)。


二、Spring框架注解

核心与依赖注入
  1. @Component 标记为Spring管理的通用组件。

  2. @Service 标记业务逻辑层(Service层)组件。

  3. @Repository 标记数据访问层(DAO层)组件,自动处理数据库异常。

  4. @Controller / @RestController 标记Web控制器(@RestController返回JSON)。

  5. @Autowired 自动注入依赖(推荐改用构造器注入,但注解仍常见)。

  6. @Qualifier 指定注入的Bean名称,解决多个同类型Bean的冲突。

  7. @Value 注入配置文件中的属性值(如@Value("${app.name}"))。

Web与REST API
  1. @RequestMapping 定义请求映射路径(可细分为@GetMapping, @PostMapping等)。

  2. @PathVariable 从URL路径中获取参数(如/user/{id})。

  3. @RequestParam 从请求参数中获取值(如/user?name=John)。

  4. @RequestBody 将HTTP请求体反序列化为Java对象(如JSON → DTO)。

  5. @ResponseBody 将方法返回值序列化为HTTP响应体(如返回JSON)。

配置与AOP
  1. @Configuration 标记类为配置类,定义Bean。

  2. @Bean 在配置类中声明方法返回的Bean。

  3. @Profile 指定Bean在特定环境下生效(如@Profile("dev"))。

  4. @Transactional 声明事务管理(方法或类级别)。

  5. @Aspect 定义切面类,结合@Before, @After等实现AOP。


三、JPA/Hibernate(数据库)

  1. @Entity 标记类对应数据库表。

  2. @Table 指定表名(如@Table(name = "users"))。

  3. @Id 标记主键字段。

  4. @GeneratedValue 配置主键生成策略(如自增、UUID)。

  5. @Column 定义字段与列的映射(如@Column(name = "user_name"))。

  6. @OneToMany / @ManyToOne 定义实体间的一对多、多对一关系。

  7. @Query 在Repository中自定义JPQL或原生SQL查询。


四、Lombok注解(简化代码)

  1. @Data 自动生成Getter/Setter、equals()hashCode()toString()

  2. @Getter / @Setter 单独生成Getter或Setter方法。

  3. @NoArgsConstructor / @AllArgsConstructor 生成无参构造器和全参构造器。

  4. @Builder 提供Builder模式支持。

  5. @Slf4j 自动生成日志对象(如log.info())。


五、测试相关

  1. JUnit 5

    • @Test: 标记测试方法。

    • @BeforeEach / @AfterEach: 每个测试前后的操作。

    • @Mock / @InjectMocks(Mockito): 模拟依赖注入。

  2. Spring Boot Test

    • @SpringBootTest: 启动完整Spring上下文测试。

    • @MockBean: 模拟并替换Spring上下文中的Bean。


六、其他常用注解

  1. Jackson(JSON序列化)

    • @JsonProperty: 指定JSON字段名。

    • @JsonIgnore: 忽略字段序列化。

  2. Swagger(API文档)

    • @ApiOperation: 描述API接口功能。

    • @ApiParam: 描述接口参数。

  3. Spring Boot

    • @SpringBootApplication: 主启动类注解(组合了@Configuration@ComponentScan等)。

    • @EnableScheduling: 启用定时任务。


示例代码片段

// Spring Boot + JPA 示例
@RestController
@RequestMapping("/api/users")
public class UserController {@Autowiredprivate UserService userService;
​@GetMapping("/{id}")public User getUser(@PathVariable Long id) {return userService.findById(id);}
}
​
// Lombok 简化实体类
@Data
@Entity
@Table(name = "users")
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(name = "user_name")private String username;
}

这些注解能显著提升开发效率,具体使用需结合项目框架和需求调整。

http://www.dtcms.com/a/508503.html

相关文章:

  • 【NestJS】中间件与管道:请求处理双雄对决
  • 网站设计做微信发现界面济宁500元做网站
  • 赣州网站制作深圳网站建设 设计创公司
  • 网站后台管理系统怎么上传wordpress计费查询
  • Easyexcel 结合POI 做图片读取
  • 聚美联盟网站怎么做中国建设积分商城网站
  • 基于.NET UA Client SDK构建跨平台OPC UA客户端应用
  • Transformer神经网络模型
  • 深入理解 Linux 负载平均值:由浅入深
  • 网站排版设计欣赏适合学生做的微商代理
  • 【穿越Effective C++】条款01:视C++为一个语言联邦
  • Linux系统编程:(四)基础指令详解(3)
  • 彻底清除Windows程序卸载后的注册表与功能列表残留
  • 【学习系列】SAP RAP 12:行为定义-Side Effects
  • 虚拟机的网卡netplan
  • 用C语言实现适配器模式
  • java求职学习day43
  • 做路牌的网站有哪些做调查的网站可以赚钱
  • 中原郑州网站建设iframe wordpress
  • h5游戏免费下载:功夫猫
  • 大模型-LORA模型详解
  • admin二维码字符过长导致显示失败问题
  • 监控主要的噪音有哪些,怎么系统的降噪?怎么设置告警规则更合理化
  • 温州企业建站系统模板工程招标信息网
  • 代刷网站是怎么做的保定公司做网站
  • vs2017 如何做网站注册一个软件需要多少钱
  • php网站开发做什么图标不显示wordpress
  • 200道高频Java 面试题汇总(含答案解析)
  • Telink 时钟模块
  • 阿尔茨海默病早期症状影像分类数据集