我是使用Spring-Framework的新手,实际上我正在使用Spring-Boot库。我有以下问题:
我了解,默认情况下,@bean在@configuration类中注册的豆是单身人士,但是我发现依靠其他豆的豆类正在获取自己的这些豆的实例,而不是我希望它们的singleton实例有。
例如:
@豆 public static void myfirstservice(){ 返回新的myFirstService(foo(),bar()); } @豆 公共静态void mysecondservice(){ 返回新的mySecondService(foo(),bar()); } @豆 公共静态void foo(){ 返回new Foo(); } @豆 公共静态void bar(){ 返回新bar(); }
我希望MyFirstService和MySecondService的实例具有相同的foo和bar实例。那就是默认情况下应该发生的事情,对吗?还是我对豆的处理方式完全误解了一些?
我已经玩过@Scope注释(无济于事),但这是我的理解。
事先感谢您的任何输入!:)
我很快就发布了这个问题...(总是这样...)
我想出了答案。以防万一其他人犯同样的错误。我的IDE纠正了方法为"静态",当然不应该是。
我将这些方法更改为实例方法,一切都按预期工作。
您应该在此处使用@Autowied如下:
@Autowired
private MyFirstService myFirstService;
@Autowired
private MySecondService mySecondService;
以及在MyFirstService和MySecondService的Java类代码中,也可以自动导线foo和bar。