java getbean方法_java main方法中通过ApplicationContext去拿bean(用注解的bean)getbean拿不到?...

java main方法中通过ApplicationContext去拿bean(用注解的bean)getbean拿不到?

注解类代码如下:

88ae4e245a863c560c52f54c3efabc3f.png

ApplicatonContext.xml配置如下:

4a1ef96cbf0ff4c32418d4faeda12413.png

main方法如下:

39f28d533076087905268dc64d96bdfe.png

上面注释的是普通main方法,下面是junit测试,都拿不到。

如果userService通过xml配置在ApplicationContext中配置,这样是可以拿到的。

XML文件错了,没有你这种写法。

XML里直接写上

<context:component-scan base-package="com.springaop" />

就行,去掉

<context:annotation-config>

</context:annotation-config>

你的工程中两个配置文件,搞清用的哪个,确保spring加载的正常,控制台会有输出的,不会拿不到的

base-package里面的包写成com.springoop.*试试看

配置文件不对,没有将bean注入进来啊。多贴点而配置文件出来看看。

junit里的代码有没有写对,需要手动去触发初始化, 写在before注解下。

public class EnterSearchServiceTest {

private IEnterService enterService;

@Before

public void init() {

ApplicationContext aCtx

= new FileSystemXmlApplicationContext(

new String[]{"classpath:applicationContext.xml"

,"classpath:mybatis-config.xml"});

IEnterService service = (IEnterService) aCtx.getBean("EnterService");

this.enterService = service;

}

用spring boot吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值