SpringIOC容器学习笔记

来源:互联网 发布:局域网qq监控软件 编辑:程序博客网 时间:2024/06/09 17:41

深度解析Spring容器

0使用Spring容器的步骤如下:

BeanFactory factory=new ClassPathXmlApplicationContext(“applicationContext”);

然后 TestClasstestClass=(TestClass)factory.getBean(“testClass”);

1 Spring中的IoC(控制反转)容器将由应用程序创建的依赖对象变为由它来控制,并且通过配置文件来查找,定位,和创建对象,并通过依赖注入来传递对象。通过配置文件将依赖关系描述出来,然后交个IoC容器管理,这样不用我们自己管理对象,也不需要修改程序代码,只需要修改配置文件。Spring的核心就是管理对象!

2:注入方式有两种,一种是通过构造函数的方式,另一种是通过setter方法来注入。通过构造方法注入时配置文件的描述方法为

<beanid="userManager1"class="com.bjpower.usrManagers.UserManagerImp1">

  <constructor-argref="userDao4Mysql"/>

</bean>

通过setter方法注入时配置文件的描述方法为

<beanid="testClass"class="testInfection.TestClass">

    <propertyname="intValue"value="123"/>

    <propertyname="strValue"value="dfsad"/>

</bean>

3:  Spring中的属性转化由类

org.springframework.beans.factory.config.CustomEditors类来处理,其中的一个属性为CustomEditorsMap,存放属性各种对应的属性转换器。

4: Spring中可以配置多个配置文件,使用的时候将配置文件名放入一个字符串数组中,然后传递给ClassPathXmlApplicationContext(String[]arg);多个配置文件在解析的时候放在一起解析,所以各个属性的名字不可重复!

5当类中有共同的属性的时候,可以集中起来设置一个抽象的属性集合,这样可以减少配置文件的重复代码,具体操作如下:

<beanid=”abstractBean” abstract=”true”>

<property></property>

</bean>

6:Spring配置文件支持lazy加载,但不需要加载多个配置文件的某一个的时候,可以在<beans default-lazy-init=”true”></beans>即可

7:配置的类的作用域问题,在<bean id=” ” class=” ”  scope=”singleton ”  or  ”prototype”></bean>scope=”singleton”时表示每次生成的实例都是同一个,scope=”prototype”时表示每次生成的实例都不同。

8:配置文件中根据类的名称匹配,当一个类中含有多个需要注入的其他类的时候可以使用名称匹配,使用方法如下:

<beans  default-autowire=”byName” ></beans>也可以通过类型匹配“byType

0 0
原创粉丝点击