java 项目中常用的注解及其作用

在Java企业项目中,注解(Annotations)用于提供关于代码的元数据信息,通常用于配置框架、指示编译器行为或运行时处理等。

以下是一些常用的注解及其在企业应用中的作用:

标准Java注解

  1. @Override - 表示一个方法声明打算重写超类中的方法。
  2. @Deprecated - 标记过时的方法或类,告知开发者不推荐使用。
  3. @SuppressWarnings - 指示编译器忽略特定的警告。
  4. @FunctionalInterface - 指定一个接口为函数式接口,即只包含一个抽象方法。

Spring Framework注解

  1. @Autowired - 自动注入依赖,Spring容器会在Bean创建时自动为这些属性赋值。
  2. @Component - 表示一个类作为组件类,并且告诉Spring需要为这个类创建bean。
  3. @Service - 用于标注服务层的组件。
  4. @Repository - 用于标注数据访问组件,即DAO组件。
  5. @Controller - 用于标注控制层组件,如Spring MVC的控制器。
  6. @RestController - 用于创建RESTful Web Services的控制器,包含@Controller@ResponseBody
  7. @RequestMapping - 用于将HTTP请求映射到特定处理器的方法或类上。
  8. @SpringBootApplication - 用于启动Spring Boot应用程序的主类,包含@Configuration@EnableAutoConfiguration@ComponentScan
  9. @Transactional - 用于声明一个方法或类需要被事务管理。

JPA / Hibernate注解

  1. @Entity - 指示一个类是实体类,并且映射到数据库表。
  2. @Table - 指定实体类对应的表信息。
  3. @Id - 指定实体类的主键。
  4. @GeneratedValue - 配置主键的生成策略。
  5. @Column - 指定非主键字段与数据库列的映射关系。
  6. @ManyToOne@OneToMany@OneToOne@ManyToMany - 描述实体之间的关联关系。

JUnit注解

  1. @Test - 表示一个方法是测试方法。
  2. @Before / @BeforeEach - 指定一个方法在每个测试方法之前运行。
  3. @After / @AfterEach - 指定一个方法在每个测试方法之后运行。
  4. @BeforeClass / @BeforeAll - 指定在所有测试开始之前只运行一次的方法。
  5. @AfterClass / @AfterAll - 指定在所有测试结束之后只运行一次的方法。

Lombok注解

  1. @Getter / @Setter - 自动生成getter和setter方法。
  2. @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor - 自动生成无参构造器、有参构造器或者特定字段的构造器。
  3. @Data - 包含了@Getter@Setter@RequiredArgsConstructor@ToString@EqualsAndHashCode
  4. @Builder - 自动生成建造者模式代码。

Java EE注解

  1. @Resource - 类似于Spring的@Autowired,用于资源注入。
  2. @EJB - 用于注入一个企业JavaBean。
  3. @PersistenceContext - 用于注入持久化上下文。

以上这些是在Java企业项目中常用的一些注解,它们简化了代码的编写,提高了开发效率,并有助于保持代码的整洁和可维护性。开发者应根据项目使用的技术栈和框架选择合适的注解

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java奋斗者

听说打赏我的人再也不会有BUG

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值