gpt4 book ai didi

java - Spring-执行时的@Autowired方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:02 25 4
gpt4 key购买 nike

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

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

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

最佳答案

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

配置方法(使用 @Autowired 注释)的参数将与 Spring 容器中匹配的 bean Autowiring 。

参见 Javadoc API for Autowired annotation了解更多详情。

关于java - Spring-执行时的@Autowired方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com