もしそうなら、どうやってそれを止めるのですか?
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 に答える