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的一些操作

狂神说Spring07:AOP就这么简单 (qq.com)

当需要注入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的初始化过程

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

循环依赖

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 


posted @ 2022-05-23 16:59  happy_in  阅读(29)  评论(0)    收藏  举报