在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和global session,如果你想让你的容器里的某个bean拥有其中某种新的web作用域,
除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始化配置。
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
问题引申
1. controller作用域 单例模式
注意:
SpringMVC的Controller数据都是从方法参数传入的,是方法级的,使用单例模式,所以在没有共享成员变量情况下是线程安全的,应该避免共享的成员变量防止出现线程安全问题,
2. spirngMVC 与spring 区别
2. JdbcHttpSessionConfiguration 作用
JdbcHttpSessionConfiguration 作用:使用
Spring Session
解决分布式Session问题
思维拓展:谈谈配置Spring-Session底层数据库使用Redis和Mysql之间的区别?
答:关键区别在于:当底层使用Mysql的时候,在数据库新增了两张用于存储Spring Session相关信息的表格(table)。而Redis则不需要,因为Redis本身是一个非关系型数据库,可以存储一切的实体对象。
3. ThreadPoolTaskExecutor 线程池学习
4. SimpleApplicationEventMulticaster 的作用
Spring默认的事件广播器SimpleApplicationEventMulticaster,用户可以在配置文件中为容器定义一个自定义的事件广播器,只要实现ApplicationEventMulticaster就可以了,Spring会通过 反射的机制将其注册成容器的事件广播器,如果没有找到配置的外部事件广播器,Spring自动使用 SimpleApplicationEventMulticaster作为事件广播器。
链接参考: