1.singleton 单例 (request、session、application)
2.prototype 多例
循环引用问题
在spring 中singleton,会直接实例化;如果是prototype会检查引用,如果有引用,先去实例引用对象(目的:避免循环引用)
1.全部singleton
//A,B,C会实例成功
Class A{ //singleton
B b
}
Class B{ //singleton
C c
}
Class C{ //singleton
A a
}
2.全部是prototype
//A,B,C全部失败
Class A{ //prototype
B b
}
Class B{ //prototype
C c
}
Class C{ //prototype
A a
}
3.singleton和prototype混合
Class A{ //single
B b //单例引用中的B,也是单例的
}
Class B{ //prototype //B是多例的
C c
}
Class C{ //prototype
A a
}