编程语言
首页 > 编程语言> > java-执行时的@Autowired方法

java-执行时的@Autowired方法

作者:互联网

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

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

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

解决方法:

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

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

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

标签:autowired,spring,java,inversion-of-control
来源: https://codeday.me/bug/20191029/1959285.html