私たちは、次のレガシー2.0.7春のコードがあります。context
は、我々は無視AbstractApplicationContext.getBeansOfTypeについてQ()とgetBean()
org.springframework.context.support.AbstractApplicationContext
ノートのインスタンスである
final Map<String, MyClass> secondaryFactories
= (Map<String, MyClass>) context.getBeansOfType(MyClass.class,
false, true);
return (MyClass) context.getBean("myClass");
を戻り値はgetBeansOfType()
です。これは正常に動作しますが、問題はgetBeansOfType()
への呼び出しに時間がかかることです。ただし、この呼び出しの戻り値を無視しても、この呼び出しを取り除こうとすると、getBean()
によって返されたMyClass
のインスタンスは完全に初期化されません。 (だから、明らかに、getBeansOfType()
への呼び出しは、私たちが必要とする副作用のいくつかの並べ替えを持っている。)
我々はgetBeansOfType()
への呼び出しが過剰であると思われるとMyClass
のインスタンスをして得られたように、我々はより軽量な何かを行うことができますgetBean()
への呼び出しは完全に初期化されます(ただし、nullではなく例外もスローされません)。
これを行うにはより効率的な方法がありますか?
BeanType.MY_CLASS.getName()とは何ですか? –
あなたはどのバージョンのSpringを使用していますか?私のバグのように聞こえる。 –