有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring@Autowired方法在执行时

我有一个BaseDaoImpl类,它有以下方法:

@Autowired
public void initSessionFactory(@Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
    super.setSqlSessionFactory(sqlSessionFactory);
    System.out.println("------ ok ------");
}

我定义了一个子类UserDaoImpl,它implements BaseDaoImpl。并将其定义为一个bean
在初始化Spring上下文时,我发现initSessionFactory()方法是自动执行的,但我没有调用任何方法
据我理解,该方法已执行&;只有当我调用它时,才能自动连接它的参数,有人能帮助解释它是如何工作的吗?谢谢


共 (1) 个答案

  1. # 1 楼答案

    这种行为是正常的。用@Autowired注释的initSessionFactory方法被认为是配置方法@Autowired可以放在构造函数、字段和方法上。创建bean时,首先调用构造函数,然后注入字段,然后调用配置方法

    配置方法(用@Autowired注释)的参数将与Spring容器中的匹配bean自动关联

    有关更多详细信息,请参见Javadoc API for Autowired annotation