もしそうなら、どうやってそれを止めるのですか?
質問する
3336 次
2 に答える
9
注釈が付けられscope
ているかどうかによって異なります。bean
スコープ内の場合singleton
、同じインスタンスがSpringのどこでも使用されますApplicationContext
。スコープ内の場合はprototype
、各場所で新しいインスタンスが使用されます。
<bean id="id" class="some.NewObject" scope="prototype"/>
<bean id="id2" class="some.AnotherNewObject" scope="singleton"/>
これらのBean定義を次のコードと組み合わせると、説明に役立ちます。
class Class1 {
@Autowired
some.AnotherNewObject obj;
}
class Class2 {
@Autowired
some.AnotherNewObject obj;
}
class Class3 {
@Autowired
some.NewObject obj;
}
class Class4 {
@Autowired
some.NewObject obj;
}
Class1
のClass2
同じインスタンスへの参照を受け取りますsome.AnotherNewObject
。 Class3
のClass4
さまざまなインスタンスへの参照を受け取りますsome.NewObject
。
構成に注釈とパッケージスキャンを使用している場合は、@Scope
注釈を使用してスコープを指定できます。
@Component
@Scope("prototype")
class NewObject {
...
}
@Component
@Scope("singleton")
class AnotherNewObject {
...
}
于 2012-08-14T13:09:59.720 に答える
3
@Service
@Scope("prototype")
public class CustomerService
{}
于 2012-08-14T13:17:31.777 に答える