单例模式的目的:确保一个类只有一个实例,并且提供一个全局的访问点(Ensure a class only has one instance, and provide a global point of access to it)
singleton bean只能保证每次按照id或者类型注入时,注入的是同一个bean。
singleton bean 只能保证每个容器内,相同 id 的 bean 单实例,所以他不是单例模式,spring中同一个类可以有多个id不同的bean实例。
定义一个类,Scope设置为prototype
@Component
@Scope("prototype")
public class MyClass {
// 类的属性和方法
}
注入这个类的Bean,每次注入spring容器都会创建一个新的实例。
如果@Scope(“singleton”)sping容器只会创建一个实例,每次注入都返回同一个实例。
// 在需要使用这些实例的地方进行注入
@Service
public class MyService {
@Autowired
private MyClass instance1;
}