为爱奔跑


无论在家出家。必须上敬下和。忍人所不能忍。行人所不能行。代人之劳。成人之美。静坐长思己过。闲谈不论人非。行住坐卧。穿衣吃饭。从幕至朝。一名佛号。不令间断。或小声念。或默念。除念佛外。不起别念。若或妄念一起。当下就要教他消灭。当生惭愧心及忏悔心。从有修持。总觉我工夫很浅。不自矜夸。只管自家。不管人家。只看好样子。不看坏样子。看一切人都是菩萨。唯我一人是凡夫!

问题描述:使用@Autowired注入的类,没有实例化

//Controller
@RequestMapping(value="/deepblue")
@Controller
public class AController{

    @Autowired
    private BService bService;

    public void test(){
        bService.test();
    }    
}

//Service
@Service
public class BService{
    public void test(){
        new CService().test();   
    }
}

//Service
@Component
public class CService{
    @Autowired
    private DataService dataService;  // null

    @Value(${data.service.ticket})
    private String dataServiceTicket;  // null
}

上述代码debug,发现@Autowired @Value注入为null,依次检查application.properties和dubbo-spring.xml文件,@Value变量和dubbo bean都有注入

解决问题的过程:

解决问题都过程放在spring容器启动都时候是否扫描类DataService,是否注入;

如何解决的问题:

 

反思问题产生的原因:不是单例,又重新new了一个对象;

You should autowire your PersonService class in your controller instead of making it as an object

总结spring加载bean的理解:

posted on 2017-03-17 20:59  RunforLove  阅读(353)  评论(0编辑  收藏  举报