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 楼答案
这种行为是正常的。用
@Autowired
注释的initSessionFactory
方法被认为是配置方法@Autowired
可以放在构造函数、字段和方法上。创建bean时,首先调用构造函数,然后注入字段,然后调用配置方法配置方法(用
@Autowired
注释)的参数将与Spring容器中的匹配bean自动关联有关更多详细信息,请参见Javadoc API for Autowired annotation