24 个 Spring bean 全部注解:真实业务使用案例说明 (必须收藏)
Spring Bean 注解是 Spring 框架提供的一组用于控制 Spring Bean 生命周期和行为的注解。这些注解简化了传统的 XML 配置,使得开发者能够以声明式的方式在 Java 类中定义和管理 Bean。核心注解包括@Component
(泛指组件)、@Service
、@Repository
、@Controller
(定义服务、数据访问、Web 层控制器)、@RestController
(用于 RESTful API 控制器)、@Autowired
(自动依赖注入)、@Qualifier
(解决依赖注入中的歧义)、@Primary
(指定首选 Bean)、@Lazy
(延迟加载 Bean)、@DependsOn
(定义 Bean 初始化的依赖顺序)、@Profile
(根据环境激活 Bean)、@Configuration
(定义配置类)、@Bean
(方法上声明一个 Bean)、@Import
(导入其他配置类或 XML 文件)。这些注解共同构成了 Spring 依赖注入的基础,使得 Spring 应用的配置更加灵活和易于管理。
肖哥弹架构 跟大家“弹弹” 代码设计技巧,需要代码关注
欢迎 点赞,关注,评论。
关注公号 Solomon 肖哥弹架构获取更多精彩内容
历史热点文章
1、基础组件注解
1.1 @Component
注解作用介绍: 标识一个类作为 Spring 的通用组件,可以被自动扫描并注册为 Spring 应用上下文中的 Bean。
注解属性介绍:
无属性。
业务请求案例:
无特定请求参数。
注解业务案例:
1.2 @Service
注解作用介绍: 专门用于标识一个类作为服务层组件,通常包含业务逻辑。
注解业务案例:
1.3 @Repository
注解作用介绍: 标识一个类作为数据访问对象,通常用于数据库操作。
注解业务案例:
1.4 @Controller
注解作用介绍: 标识一个类作为 Web 应用程序的控制器,处理 HTTP 请求。
注解业务案例:
1.5 @RestController
注解作用介绍: 用于标识 RESTful Web 服务的控制器,通常与 @ResponseBody 结合使用。
注解业务案例:
1.6 @Scope
注解作用介绍: 用于指定 Bean 的作用域,如 singleton、prototype 等。
注解属性介绍:
value: 作用域名称。
注解业务案例:
2、依赖注入与生命周期管理
2.1 @Autowired
注解作用介绍: 自动装配依赖项到 Bean 的字段、构造函数或 setter 方法。
注解属性介绍:
required: 是否必须进行自动装配,默认为 true。
注解业务案例:
2.2 @Qualifier
注解作用介绍: 当有多个同类型的 Bean 时,用于指定具体要注入哪一个 Bean。
注解属性介绍:
value: 指定 Bean 的名称。
注解业务案例:
2.3 @Primary
注解作用介绍: 当有多个 Bean 可以实现同一个接口时,指定优先自动装配的 Bean。
注解业务案例:
2.4 @Lazy
注解作用介绍: 延迟加载 Bean,直到它被实际使用。
注解业务案例:
2.5 @DependsOn
注解作用介绍: 指定 Bean 初始化的依赖顺序,确保在当前 Bean 创建前先创建指定的 Bean。
注解业务案例:
2.6 @PostConstruct
注解作用介绍: 标记在 Bean 初始化之后执行的方法,用于执行 Bean 的初始化逻辑。
注解业务案例:
2.7 @PreDestroy
注解作用介绍: 标记在 Bean 销毁之前执行的方法,用于执行清理逻辑。
注解业务案例:
3、配置与元数据
3.2 @Profile
注解作用介绍: 根据激活的配置文件来激活或禁用 Bean。
注解属性介绍:
value: 指定一个或多个激活的配置文件名称。
注解业务案例:
3.3 @PropertySource
注解作用介绍: 指定一个属性文件的位置。
注解属性介绍:
value: 属性文件的路径。
注解业务案例:
3.4 @PropertySources
注解作用介绍: 指定多个属性文件的位置。
注解业务案例:
3.5 @ConfigurationProperties
注解作用介绍: 用于将外部配置属性绑定到一个 Java 对象。
注解属性介绍:
prefix: 指定属性的前缀。
注解业务案例:
3.6 @ConfigurationProperty
注解作用介绍: 用于指定配置属性的元数据。
注解属性介绍:
name: 属性名称。
value: 默认值。
注解业务案例:
4、导入与事件
4.1 @Import
注解作用介绍: 导入额外的配置类。
注解属性介绍:
value: 被导入配置类的类名。
注解业务案例:
4.2 @ImportResource
注解作用介绍: 导入 XML 配置文件。
注解属性介绍:
value: XML 配置文件的路径。
注解业务案例:
4.3 @ComponentScans
注解作用介绍: 指定多个组件扫描的包路径。
注解业务案例:
4.4 @EventListener
注解作用介绍: 标记方法作为事件监听器,用于处理应用程序事件。
注解属性介绍:
value: 监听的事件类型。
注解业务案例:
4.5 @Order
注解作用介绍: 指定组件的顺序,特别是在存在多个相同类型的 Bean 时。
注解属性介绍:
value: 指定顺序的整数值。
注解业务案例:
4.6 @Indexed
注解作用介绍: 提供额外的索引信息,以便在某些 Spring 工具中更好地识别和管理。
注解属性介绍:
value: 索引值。
注解业务案例:
版权声明: 本文为 InfoQ 作者【肖哥弹架构】的原创文章。
原文链接:【http://xie.infoq.cn/article/335b6df21b520e4919383a675】。文章转载请联系作者。
评论