SSM框架(Spring,SpringMvc,Mybatis)
Spring框架
Spring框架指的是Spring Framework,可以提高开发人员的开发效率还有系统的可维护性
Spring 的摸款是:核心容器,数据访问/集成,Web,AOP(面向切面编程),工具,消息和测试模块.
IOC
IOC控制反转这是一种设计思想,就是把对象的创建权交给Spring框架来管理.IOC容器的底层就是一个map类型的键值对,存放的就是各种对象
IOC容器的类型
ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、AnnotationConfigApplicationContext、BeanFactory
ApplicationContext和BeanFactory的区别?
BeanFactory是底层额接口,ApplicationContext是派生的接口,功能更加强大,BeanFactory是懒加载,你用到的时候才会创建对象好处是可以节省内存,当你的内存不够时可以使用这个容器,而ApplicationContext是启动的时候就会加载全部的bean,好处是使用的时候,拿来即用,缺点是启动的时候会比较慢.起始阶段比较耗费内存.
BeanFactory和FactoryBean的区别?
BeanFactory是一个Spring容器,而FactoryBean是一个特殊的Bean,他的作用就是用来创建bean,创建出来的bean会放到容器中去.
Spring中的单例Bean是线程安全的吗?
不是安全的,但是Spring中的Bean是无状态的,也就是说他是不储存数据的,所以从某种情况来说,他是安全的.
有两种解决方法
1.把bean的作用域改为非单例 prototype
2.把共享的变量放入ThreadLocal中,它是线程的私有变量,因为线程之间是隔离的,所以这样也可以解决线程的安全问题.
简单描述下Spring容器中bean的生命周期
1.首先通过设置文件或者注解拿到所有的BeanDefinition,并