因为为了考虑 线程安全等问题,
所以尽量让spring的 bean 是 prototype类型,而不是默认的单例,
特别是controller 层,也可以写一个BaseConller 使用ThreadLocal 来获取session ,这种就不需要注解了
或者是 使用 容器来 getBean 的时候最好让bean是 prototype 。特别是 在 web.xml 里面新建一个线程的时候
或者是spring 里面新建线程去操作的时候 ,这样保证了线程安全,否则虽然 可以启动,但是每次关闭有时候会出异常的信息的
但是也不是每个bean 都用 prototype ,能不能就不用,这样比较高效,而且 使用了 prototype 创建后交由调用者负责销毁对象回收资源
singleton 只有一个实例,也急速单例模式
prototype 访问一次创建一个实例,相当于new 一个对象了