为什么spring自动注入为null,而手动获取就没问题呢xml加载的方式有问题吗

为什么spring自动注入为null,而手动获取就没问题呢xml加载的方式有问题吗,第1张

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过来的对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9588912.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存