Spring Boot 应用程序中常用的注解

本文包含 Spring Boot 应用程序中常用注释的非完整列表。此列表旨在快速查找,有关详细和全面的信息,请阅读官方 Java 文档和文档。

芯弹簧
@Bean - Annotated 方法生成由 Spring IoC 容器管理的 Bean
构造型批注
@Component - 将带注释的类标记为组件扫描找到并加载到应用程序上下文中的 Bean
@Controller - 将带注释的类标记为包含请求处理程序的 Spring MVC 的 Bean
@RestController - 将带注释的类标记为 Bean,并将返回的结果作为消息添加以序列化@Controller@ResponseBody
@Configuration - 将带注释的类标记为定义 Bean 的 Java 配置
@Service - 将带注释的类标记为 Bean(通常包含业务逻辑的约定)
@Repository - 将带注释的类标记为 bean(通常提供数据访问的约定),并添加从 到SQLExceptionDataAccessExceptions
豆州
@PostConstruct - 在完成依赖注入后执行注释方法以执行初始化
@PreDestroy - 在 Bean 被销毁之前执行注释方法,例如在关闭时

配置
@Import - 导入一个或多个 Java 配置类@Configuration
@PropertySource - 指示要向 Spring 添加键值对的文件位置applicaiton.propertiesEnvironment
@Value - 将注入带注释的字段和参数值
@ComponentScan - 配置组件扫描等。@Compenent@Service
Bean 属性
@Lazy - 带注释的 Bean 将在第一次使用时延迟初始化
@Profile - 指示仅当定义的配置文件处于活动状态时,才会初始化 Bean
@Scope - 定义 Bean 创建范围,例如原型、单例等。
@DependsOn - 根据创建顺序显式定义对其他 Bean 的依赖关系
@Order - 在注入 Bean 列表时定义排序顺序,但如果只需要一个 Bean,则不会解析优先级
@Primary - 如果可以自动连接多个 Bean,则将选择带注释的 Bean
@Conditional - 仅当条件满足时,才会创建带注释的 Bean
Spring Boot 中还提供以下功能:
@ConditionalOnBean
@ConditionalOnMissingBean
@ConditionalOnClass
@ConditionalOnMissingClass
@ConditionalOnProperty
@ConditionalOnMissingProperty
豆类注射
@Autowired - 将 Bean 注入到带注释的 setter 、字段或构造函数参数中。
@Qualifier - 将 Bean 的名称指定为附加条件,以标识自动接线的唯一候选项
Spring 启动
@SpringBootConfiguration - 指示 Spring Boot 应用程序@Configuration
@EnableAutoConfiguration - 启用应用程序上下文自动配置,以根据类路径提供可能需要的 Bean
@ConfigurationProperties - 提供键值属性的外部绑定
@ConfigurationPropertiesScan - 启用类的自动检测@ConfigurationProperties
@SpringBootApplication - 、 和 的组合@SpringBootConfiguration@EnableAutoConfiguration@ConfigurationPropertiesScan@ComponentScan
@EntityScan - 配置基本包以扫描实体类
@EnableJpaRepositories - 启用 jpa 存储库的自动配置
Spring Boot 测试
@SpringBootTest - 带注释的测试类将加载整个应用程序上下文以进行集成测试
@WebMvcTest - 带注释的测试类将仅加载 Web 层(忽略服务层和数据层)
@DataJpaTest - Annotated 类将仅加载 JPA 组件
@MockBean - 将带注释的字段标记为模拟字段,并将其作为 Bean 加载到应用程序上下文中
@SpyBean - 允许部分模拟 bean
@Mock - 将带批注的字段定义为模拟字段
春季测试
@ContextConfiguration - 定义加载应用程序上下文以进行集成测试@Configuration
@ExtendWith - 定义用于执行测试的扩展,例如 MockitoExtension
@SpringJUnitConfig - 组合和@ContextConfiguration@ExtendWith(SpringExtension.class)
@TestPropertySource - 定义集成测试中使用的属性文件的位置
@DirtiesContext - 指示带批注的测试会弄脏应用程序上下文,并且会在每次测试后进行清理
@ActiveProfiles - 定义在初始化测试应用程序上下文时应加载的活动 Bean 定义
@Sql - 允许定义在测试之前和之后执行的 SQL 脚本和语句
交易
@EnableTransactionManagement - 启用注释驱动的事务声明@Transactional
@Transactional - 注释的方法将以事务方式执行
Spring JPA 和 Hibernate
@Id - 将带批注的字段标记为实体的主键
@GeneratedValue - 提供主键的生成策略
@Entity - 将带批注的类标记为实体
@Column - 为字段提供其他配置,例如列名称
@Table - 为实体提供其他配置,例如表名
@PersistenceContext - 注入到带注释的 setter 和字段中EntityManger
@Embedded - 带注释的字段实例化为类的值Embeddable
@Embeddable - 带批注的类的实例存储为实体的一部分
@EmbeddedId - 将带批注的属性标记为由可嵌入类映射的复合键
@AttributeOverride - 覆盖字段的默认映射
@Transient - 带注释的字段不是永久性的
@CreationTimestamp - 带注释的字段包含首次存储实体时的时间戳
@UpdateTimestamp - 批注字段包含实体上次更新时的时间戳
@ManyToOne - 表示 N:1 关系,包含注释字段的实体与其他类的实体具有单个关系,但另一个类具有多个关系
@JoinColumn - 指示用于在拥有方或单向端连接实体或关系的列@ManyToOne@OneToOne@OneToMany
@OneToOne - 表示 1:1 关系
@MapsId - 引用连接所属方或关系的列,作为引用和引用实体的主键@ManyToOne@OneToOne
@ManyToMany - 指示 N:M 关系
@JoinTable - 指定使用联接表的关联
@BatchSize - 定义大小以延迟加载带批注的实体集合
@FetchMode - 定义关联的获取策略,例如在单个子查询中加载所有实体
Spring 安全性
@EnableWebSecurity - 启用 Web 安全
@EnableGlobalMethodSecurity - 启用方法安全性
@PreAuthorize - 使用 SpEL 定义访问控制表达式,在调用受保护的方法之前对其进行评估
@PostAuthorize - 使用 SpEL 定义访问控制表达式,在调用受保护的方法后进行评估
@RolesAllowed - 指定允许调用受保护方法的安全角色列表
@Secured - 用于定义方法级安全性的 Java 5 注释
春季 AOP
@EnableAspectJAutoProxy - 支持处理标有@Aspect
@Aspect - 将带注释的组件声明为包含切入点和建议的方面
@Before - 声明在调用传播到联接点之前执行的切入点
@AfterReturning - 声明在联接点成功返回结果时执行的切入点
@AfterThrowing - 声明在联接点引发异常时执行的切入点
@After - 声明在联接点成功返回结果或引发异常时执行的切入点
@Around - 声明在调用之前执行的切入点,从而控制建议的联接点的执行
@Pointcut - 外化定义:切入点表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值