
spring bean 自动注入只会发生在spring 管理的bean上,而你的beanJunit就不是spring 管理的bean,怎么可能会注入;
为什么下面能获取,是因你手动加载了配置文件,获取了spring 的上下文,从上下文中获取了spring 管理的bean,当然能获取到了。
通过spring容器创建java对象
一.实现步骤:
1创建maven项目
2加入maven依赖:
spring的依赖
junit依赖
3创建类(接口和他的实现类)
和没有使用框架一样,就是普通的类
(1)创建一个接口SomeService
package comspringproject;
public interface SomeServive {
void dosome();//定义了一个dosome()方法
}
(2)创建一个类 SomeServiveImp
package comspringproject;
public class SomeServiveImpl implements SomeServive {
@Override
public void dosome() {//在类中实现接口中的dosome()方法
Systemoutprintln("执行了SomeServiceImpl的dosome方法");
}
}
4创建spring需要使用的配置文件
声明类的信息,这些类由spring创建和管理
(1)在resources文件下建立一个Beansxml文件(如果没有就手动建一个文件夹)
(2)Beanxml配置
<xml version="10" encoding="UTF-8" >
<beans xmlns=">
springmvc 可以用model直接数据绑定。举个例子,如果是controller里:
@RequestMapping(“/xxxaction”)
public String doXXX(User user){
String username = usergetUserName();
//这样就直接获取了,但这种方法有个要求,就是bean的字段名称和前台input里的name要一致。
return null;
}
手动注入会报空指针异常
new对象 =null,使用new创建对象时,Spring注入的bean为null
使用标签@Component
不需要手动,最好是自动注入
以上就是关于为什么spring自动注入为null,而手动获取就没问题呢xml加载的方式有问题吗全部的内容,包括:为什么spring自动注入为null,而手动获取就没问题呢xml加载的方式有问题吗、spring容器如何创建对象、springMVC怎么获取前台post过来的对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)