java - @Bean注解的使用

标签 java spring spring-4

假设我有以下 Spring 上下文配置:

@Configuration
public class Configuration {

    @Bean
    public A a() {
        return new A(b());
    }

    public B b() {
        return new B();
    }
}

是否应该注释 b()@Bean如果唯一的地方 B所需实例在 a() 范围内对于 A实例构建?

最佳答案

如果B是一个计划Java类(没有Spring注释)那么不,您可以使用当前配置。因为这是 A 类的私有(private)成员。

但是如果你有需要由 spring 管理的方法(在 B 类中),比如 @PostConstruct 或 @PreDestroy,那么你应该用 B 创建一个 Bean > 类:

@Bean
public A a(B b) {
    return new A(b);
}
@Bean
public B b() {
    return new B();
}

此类情况有:

  • 关闭/关闭时关闭资源
  • 执行程序在关闭时关闭
  • jdbc 连接
  • 等等

关于java - @Bean注解的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447440/

相关文章:

java - IntelliJ + JRuby : missing arguments on Java methods

java - Docx4j : SpreadsheetMLPackage - java. lang.ExceptionInInitializerError

Spring-data-jpa 渴望获取加入和使用分页不起作用

xsd - 出现错误 无法加载架构 abc.xsd。 IllegalArgumentException : The resource path def. xsd 已规范化为无效的 null

spring - 将 ResponseEntity<T> 和 @RestController 用于 Spring RESTful 应用程序时

java - Oracle 数据类型 raw 的等效 java 类型是什么?

Java枚举按数字范围搜索

java - 使用 Spring @Controller 构造型保持方法可见性的最佳实践

spring - Spring MVC 测试中的空异常主体

java - 接口(interface) xxx 不能用不同的参数多次实现 :