关于Spring依赖注入的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Spring依赖注入的问题相关的知识,希望对你有一定的参考价值。
下面是错误信息:
参考技术A 首先类加载和sping配置文件加载的顺序要理清楚。1、web容器启动,开始扫描所有被指定的spring配置文件。
2、根据配置文件,实例化所有的bean对象,以java语法创建。
3、加载spring配置文件配置的对象依赖关系,将有依赖关系的bean注入到相应的对象中。
你这里报错是因为,datasource对象还没有被注入到UserDaoImpl中,而此时UserDaoImpl被实例化,datasource对象仍为空,所以报错了。 参考技术B 你在Spring配置文件中,对于UserDaoImpl注入了DataSource,因此Spring启动会自动创建UserDaoImpl,并将DataSource注入到类的成员变量。而同时,你自己的成员变量JdbcTemplate也是要被创建的,关键是时间先后。简单想象一下,创建对象这种基本语法是Java本身的,Spring通过配置文件注入是Spring完成,所以,顺序必然是语言本身的先做,然后才能是之上的spring做,所以,你创建JdbcTempalte用DataSource的时候,DataSource是不存在的,所以出现异常。 参考技术C 你看是不是这样:下面的那种方法是在类实例化时对 JdbcTemplate 进行实例化的,而此时 Datasource 还没有注入进来,为空(只能实例化以后才调用setDatasource()方法进行注入)
上面的方式是 调用了 setDatasource 的同时,对JdbcTemplate 进行实例化,此时datasource已经注入进来了,所以不为空
关于Spring IOC (依赖注入)你需要知道的一切
【版权申明】未经博主同意,不允许转载!(请尊重原创,博主保留追究权)
http://blog.csdn.net/javazejian/article/details/54561302
出自【zejian的博客】
关联文章:
关于Spring IOC (DI-依赖注入)你需要知道的一切
关于 Spring AOP (AspectJ) 你该知晓的一切
《Spring入门经典》这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring IOC相关 ,这篇博文适合初学者也适合spring有过开发经验的工程师,前者可用于全面了解Spring IOC的知识点,后者且过目进而查漏补缺,ok~,以下是主要内容:
- Spring IOC 的原理概述
- 快速入门案例
- Spring 容器装配BeanXML配置方式和注解配置方式
- Spring 依赖注入
- IOC容器管理 bean
- contextcomponent-scan与contextannotation-config
- IOC 与依赖注入的区别
以上是关于关于Spring依赖注入的问题的主要内容,如果未能解决你的问题,请参考以下文章