spring学习总结-第一讲

来源:互联网 发布:nx网络验证源码 编辑:程序博客网 时间:2024/05/16 05:04

第一讲 Spring基本用法

一、spring入门

1、设值注入

  1. IOC容器通过成员变量的setter方法来注入依赖的对象。
  2. 在依赖的对象中要有setter方法。
  3. Xml中配置:

    1. 如果A依赖于对象B,B的配置:<bean id=”B” class=”cc.wsyw126.service.imp.B”/>
    2. A的配置:

      <bean id=”A” class=”cc.wsyw126.service.imp.A”/><property name=”变量名” ref=”B”/></bean>
    3. Id:指定该Bean的唯一标示
    4. class:指定该Bean的实现类,此处不可用接口类,必须用实现类。

2、构造器注入

  1. 在构造实例时,完成依赖关系的初始化。
  2. 要有参数为依赖对象B的构造器。
  3. XML配置:

    1. A的配置:

      <bean id=”A” class=”cc.wsyw126.service.imp.A”/><constructor-arg ref=”B”/></bean>
    2. B的配置同设值注入

二、Spring容器

  1. spring容器最基本的接口时BeanFactory,它有一个子接口ApplicationContext。
  2. ApplicationContext的实现类有:FIleSystemXmlApplicationContext,ClassPathXmlApplicationContext,AnnotationConfigApplicationContext。在web应用中经常使用xml和annotation这两个ApplicationContext。
  3. 使用BeanFactory创建BeanFactory的实例。

    1. 搜索类加载器路径下的beans.xml文件创建Resource对象

      Resource isr = new ClassPathResource(“beans.xml”);
    2. 搜索文件系统的当前路径下的beans.xml文件创建Resource对象

      Resource isr = new FileSystemResource(“beans.xml”);
    3. a和b任选其一,后跟下面的代码

      DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();new XmlBeanDefinitionReader(beanFactory).loadBeanDefinitions(isr);
  4. 如果有多个配置文件,那么使用ApplicationContext创建BeanFactory的实例。
    1. ApplicationContext appcontext = new ClassPathXmlApplicationContext(“beans.xml”,”service.xml”);
    2. ApplicationContext appcontext = new FIleSystemXmlApplicationContext(“beans.xml”,”service.xml”);
  5. 类加载器目录:指的就是src目录。

三、让Bean获取它所在的Spring容器

  1. 可以让它实现BeanFactoryAware接口,在该接口中有一个方法:setBeanFactory(BeanFactory beanFactory),这个参数指向创建它的BeanFactory。
  2. 实现ApplicationContextAware接口,在该接口中有一个方法:setApplicationContext(ApplicationContext ctx),这个参数指向创建它的BeanFactory。
  3. 在国际化的时候,需要用ctx,所以这时候就需要获得ctx,就用这种方法。

四、Spring容器中的bean

  1. Bean的定义
    1. default-lazy-init:指定该

五、使用自动装配注入合作者的bean

  1. Spring的自动装配可以通过

六、spring配置数据源

  1. 有三种方式(dbcp,c3p0,jndi)

七、抽象bean和子bean

  1. 把多个< bean…/>配置中相同的信息提取出来,集中成模板,需要为该bean添加属性:abstract=”true”。
  2. 通过为子bean指定parent属性就可以指定该bean是一个子bean,parent属性指定该bean所继承的父bean的id。

八、强制初始化bean

  1. 指定属性depends-on=””

九、容器中bean的声明周期

  1. 依赖关系注入之后的行为:
    1. 使用init-method属性。配置xml中指定init-method,在类中添加方法init()。
    2. 实现InitializingBean接口。实现方法:afterPropertiesSet()。
  2. Bean销毁之前的行为:
    1. 使用destroy-method属性。配置init-method,在类中添加方法close()。。
    2. 实现DisposableBean接口。实现方法:destroy()。
    3. 创建实例->注入依赖关系->调用afterPropertiesSet->调用init-method方法->对外提供服务->调用destroy->调用destroy-method方法。

参考资料
轻量级java ee企业应用实战(第4版)
备注
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/51744210
作者:WSYW126

0 0
原创粉丝点击