1.spring量大核心:IOC,AOP
spring容器:IOC容器;
负责创建对象:
设计对象之间的依赖关系;
IOC是inversion of control缩写,指的是控制反转,意思将对象的创建,对象之间的依赖关系交给第三方来控制,斯三方就是spring容器:IOC的最大好处就是解耦
注入:它就是一种将调用者与被调用者分离的思想
spring的IOC容器有两个类型(接口):分别是
1.BeanFactory
2.ApplicationContext:
FileSystemXMLApplicationContext;
ClassPathXMLApplicationContext
WebXMLApplicationContext;
3.BeanFactory的常用方法
getBean();获得bean
containBean();是否包含一个bean
isSingleton():是否为单例
isPrototype:是否为原型(多例模式)
getType():
5.依赖注入
1.基于xml
2.Annotation
3.javaConfig(boot用的比较多)
注入的含义:就是通过spring的配置文件给bean属性赋值,spring支持三种依赖注入的方式
1.属性注入(setter进行注入)
2.构造器注入(通过构造方法注入)
3.工厂方法注入(很少使用,不推荐)
6.作用域scope
bean的作用范围:指的是当调用getBean()方法时,spring容器会怎么创建对象,主要的取值有:
singleton:单例,容器只创建一个唯一的bean;它是默认值
prototype:每次调用getBean()方法时,容器都会创建一个user对象
7.无状态:就是对象里面没有属性,数据都是经过参数传递的
8.用来创建Bean的注解有四个,这个四个注解的作用相同,只是语义不同
@Component
@Repository:Dao
@Service:业务对象
@Controller:控制器
9.扫描包
只有被扫描的包中的类才可以被容器来创建,通过context:component-scan来指定扫描的包