第一种方式以参数的形式自动装配dataSource,程序正常运行,控制台可以超过打印出dataSource的内容。
第二种方式,在成员位置采用注解自动装配的方式,程序不能正常运行,控制台报出异常,此时打印dataSource值为null。
第一种方式以参数的形式自动装配dataSource,程序正常运行,控制台可以超过打印出dataSource的内容。
第二种方式,在成员位置采用注解自动装配的方式,程序不能正常运行,控制台报出异常,此时打印dataSource值为null。
依赖加载的优先级问题,DataSource 作为请求参数的话,那么 Spring 就知道生成 SqlSessionFactoryBean 需要先去加载 DataSource。如果 DataSource 不是请求参数的话,就只能依照 Spring 自己去掌控加载顺序,这个顺序是未知的,所以就可能出现 SqlSessionFactoryBean 比 DataSource 更先进行加载。