Spring学习

1. Spring Framework

  • 这个框架是所有Spring产品的核心和基础
  • 基于IOC和AOP两大核心组件
  • IOC控制反转是Spring的基础,以前由程序员自己创建对象,现在交给Spring创建对象
  • DI依赖注入,spring配置一个bean时,如果需要给bean提供一些初始化参数,则需要通过依赖注入的方式,所谓的依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程
  • AOP面向切面编程

1. IOC容器创建对象的几种方式

  • 无参构造器
  • 有参构造器
  • 工厂类创建对象:静态方法创建对象和非静态方法创建对象 
  • FactoryBean工厂bean,其返回的是该工作Bean的getObject方法所返回的对象。

2. 依赖注入的三种方式

1、使用属性的Setter方法注入,这是最常用的方式

【要求】

  1. 要求Bean提供一个无参构造器
  2. 为需要注入的属性提供对应的Setter方法,spring会将name值的单词首字母转换成大写,再在前面拼接上“set”构成一个方法名,通过反射的方式调用Setter方法实现注入

2、使用构造器注入

【要求】

  1. 在类中,不必为属性设置setter方法,但是需要生成带参的构造函数
  2. 在配置文件中配置该bean,并配置构造器,使用<constructor-arg>节点,该节点有四个属性:
  • index索引,从0开始;
  • type是指该属性所对应的类型;
  • ref是指引用的依赖对象;
  • value当注入的属性不是对象,而是基本数据类型时,就用value。

【autowire属性自动注入】

3、使用注解方式

【注入属性的注解】—— 配合PropertyPlaceholderConfigurer(引用外部文件:data.properties)使用

  • @Autowired,代替ref,默认按类型装配;
  • @Resource,默认按名称装配;
  • @Value,装配基本的数据类型。

3. Spring Bean的生命周期

------ Spring框架中,一旦把一个Bean纳入Spring IOC容器中,这个Bean的生命周期就会交由容器进行管理,一般担当管理角色的是BeanFactory或者ApplicationContext。

下面以BeanFactory为例,说明一个Bean的生命周期:

  • Bean的建立,由BeanFactory读取Bean定义文件,并生成各个实例;
  • 执行Bean的属性依赖注入;
  •  

Spring学习

4.  Spring Bean的作用域

 

n. FactoryBean和BeanFactory的区别