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

门户网站域名长治房产网站建设

门户网站域名,长治房产网站建设,中国工业互联网公司排名,中铁建门户网登录入口在 Java 中,Bean 是 Spring Framework 的核心注解之一,用于将方法的返回值声明为一个由 Spring 容器管理的对象(即一个 “Bean”)。它是 基于 Java 配置(Configuration 类)的关键组成部分,替代了…

在 Java 中,@Bean 是 Spring Framework 的核心注解之一,用于将方法的返回值声明为一个由 Spring 容器管理的对象(即一个 “Bean”)。它是 基于 Java 配置(@Configuration 类)的关键组成部分,替代了传统的 XML 配置方式。


1. 基本用法
在带有 @Configuration 注解的类中,使用 @Bean 标注方法,Spring 会将该方法的返回值注册为 Bean:

@Configuration
public class AppConfig {@Beanpublic MyService myService() {return new MyServiceImpl(); // 实例由 Spring 管理}
}

• Bean 名称:默认使用方法名(如 myService),也可通过 @Bean(name = "customName") 指定。

• 依赖注入:方法参数会自动注入其他 Bean(无需显式 @Autowired):

@Bean
public DataSource dataSource() {return new HikariDataSource();
}@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {return new JdbcTemplate(dataSource); // 自动注入 DataSource
}

2. 常见场景
(1)第三方库的 Bean
当需要集成非 Spring 管理的类(如外部库)时:

@Bean
public RestTemplate restTemplate() {return new RestTemplate();
}

(2)条件化注册
结合 @Conditional 系列注解,按条件创建 Bean:

@Bean
@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
public FeatureService featureService() {return new FeatureService();
}

(3)初始化/销毁方法
指定 Bean 的生命周期回调:

@Bean(initMethod = "init", destroyMethod = "cleanup")
public ResourcePool resourcePool() {return new ResourcePool();
}

3. 高级特性
(1)作用域(Scope)
通过 @Scope 指定 Bean 的作用域(默认单例):

@Bean
@Scope("prototype") // 每次请求创建新实例
public PrototypeBean prototypeBean() {return new PrototypeBean();
}

(2)懒加载(Lazy Initialization)
延迟初始化 Bean,直到首次被使用时:

@Bean
@Lazy
public ExpensiveBean expensiveBean() {return new ExpensiveBean(); // 启动时不立即创建
}

(3)Primary/Qualifier
解决多个同类型 Bean 的冲突:

@Bean
@Primary // 优先注入
public DataSource primaryDataSource() { ... }@Bean
public DataSource secondaryDataSource() { ... }

4. 与 @Component 的区别

特性@Bean@Component
定义方式@Configuration 类的方法上直接标注在类上
适用场景更适合第三方库或复杂初始化逻辑适合自定义业务组件(如 Service)
灵活性可动态生成实例(如条件化 Bean)固定类声明

5. 常见问题
• Q: @Bean 方法是否必须返回对象?

A: 是,且每次调用默认返回同一实例(单例),除非标注 @Scope("prototype")

• Q: 如何解决循环依赖?

A: 优先通过构造函数注入,或使用 @Lazy 延迟加载。

• Q: 能否在 @Component 类中使用 @Bean

A: 可以,但推荐仅在 @Configuration 中使用(Spring 会代理确保单例)。


如果需要更具体的例子或深入某个场景,可以告诉我! 😊

在这里插入图片描述

类上加这几个注解 和@bean 一样
@bean 的作用主要还是 添加依赖中的类到容器中

在这里插入图片描述

在这里插入图片描述
@ConfigurationProperties 使用配置文件properties 中的 值

在这里插入图片描述

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

相关文章:

  • 神经网络如何预测仓库拥堵?
  • 基于EasyExcel的动态列映射读取方案
  • 非凡免费建网站平台大型网站开发项目合同
  • 瑞芯微RK35xx升级RGA驱动版本和API版本
  • C++ 与 Go 相互调用实践指南:基于 SWIG + Director 模式
  • 做音乐的网站设计网站版权设置
  • SAP ABAP 视图表/表 表维护视图字段更新
  • 汇编、反汇编和机器码
  • 网站做跳转链接馆陶网站推广
  • 逻辑回归正则化解释性实验报告:L2 正则对模型系数收缩的可视化分析
  • LeetCode 412 - Fizz Buzz
  • 大型门户网站建设特点怎么知道一个网站是谁做的
  • IDC报告:阿里云市场份额升至26.8%,连续5季度上涨
  • 佛山房地产网站建设51建模网官方网站
  • 字格格子模板合集:多样练字格硬笔书法训练模板(可打印)
  • Arduino ESP32-C3 串口使用注意事项
  • MCP是什么及如何开发一个MCPServer
  • 程序逆向分析
  • 卷绕设备与叠片设备
  • 个人可以做购物网站吗西安曲江文化园区建设开发有限公司网站
  • 网站当前链接深圳坪地网站建设 自助建站 五合一建站平台
  • GD32F407VE天空星开发板的ADC按键(ADKey)的实现
  • 使用 Nginx 轻松处理跨域请求(CORS)
  • 2025 年世界职业院校技能大赛机电设备安装与运维赛道备赛
  • 网站备案帐号用织梦做模板网站
  • 我的第一份工作:996
  • 贵州网推传媒有限公司企业网站seo优
  • 矿泉水除溴化物的解决方案
  • Bugku-Web题目-cookies
  • C# 类的方法介绍