spring的一些注意点
命名空间
context命名空间
- xmlns:context="http://www.springframework.org/schema/context"
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd">
如图
P和C命名空间
注入 : 需要在头文件中加入约束文件
- 导入约束 : xmlns:p="http://www.springframework.org/schema/p"
- 导入约束 : xmlns:c="http://www.springframework.org/schema/c"
如
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
P(属性: properties)命名空间 , 用于set注入
C(构造: Constructor)命名空间 ,用于构造器注入
关于aop的一些操作
当需要注入bean的一对多的关系的时候,可以在“1”的bean中在嵌套一个“多”的bean。也可以使用外部的bean
一些对xml配置文件的操作
引入开启外部属性文件支持
<context:property-placeholder location="classpath:jdbc.properties"/>
开启扫描注解
<context:component-scan base-package="com.smu.controller"/>





IOC创建Bean对象的过程

BeanFactory
操作此接口类型的对象等同于操作IOC
BeanDifinition
里面记录了Bean的信息,之后会执行BeanFactoryPostProcessor里的方法,例如对${url}的替换
实例化
实例化会创建一个空的对象,之后才会进行赋值,然后才是初始化即执行init方法
Bean的初始化过程

- 循环在之前步骤中生成的beanDefinitionNames数组;
- 查看每个BeanDefinition,是否有依赖属性需要实例化,需要的话,先实例所有需要实例化的依赖属性
- 利用反射原理,实例化Bean实例
- 将依赖属性注入到Bean中;
- 执行初始化过程,内部会调用后处理器(继承于BeanPostProcessor的类),以及一些初始化接口
循环依赖


创建bean对象的几个重要方法





浙公网安备 33010602011771号