目录
Bean对象的作用域分成六大类:
描述:
该作用域下的Bean对象在IOC容器下只存在一个实例,哪一个类对其的获取与装配都是对同一个Bean对象操作.
使用场景:
无状态的Bean对象通常使用songleton作为作用域,无状态即表示Bean对象不进行数据的修改.
备注:
是spring中Bean对象的默认作用域.
描述:
该作用域下的Bean对象在IOC容器下会在每次请求时定义新的实例对象.
使用场景:
有状态的Bean对象使用,即属性需要更新
描述:
每次http请求都会定义新的实例对象
使用场景:
一次http请求和响应中共享的Bean对象
描述:
在一个http的session中定义一个实例对象
使用场景:
用户会话的共享Bean对象,在记录用户信息的时候可以使用.
描述:
在一个http servlet context中,定义一个实例对象
使用场景:
Web应用的上下文,记录一个应用的共享信息.
websocket-HTTP WebSocket 作⽤域
描述:
在一个websocket周期中定义一个实例对象
使用场景:
WebSocket的每次会话中,保存了⼀个Map结构的头信息,将⽤来包裹客户端消息头。第⼀
次初始化后,直到WebSocket结束都是同⼀个Bean
使用@scope注解就可以声明Bean对象的作用域
①可以对方法注解使用
- @Scope("prototype")
- @Bean
- public UserBean user1(){
- UserBean userBean = new UserBean();
- userBean.name = "haha";
- return userBean;
- }
②也可以对类注解使用
- @Scope("prototype")
- @Service//添加Service注解
- public class UserService {
- private String name;
- public void hello(){
- System.out.println("service-hello");
- }
- }