zoukankan      html  css  js  c++  java
  • Spring XML配置

        如果只需要使用Spring的IoC容器,引入spring-context的依赖即可,因为它依赖于其他必须组件,依赖关系如下:

        其中spring-jcl对commons-logging做了封装。如果只使用XML配置方式,不使用注解方式,可以不引入spring-aop。

        ApplicationContext接口的三个常用实现类:ClasspathXmlApplicationContext、FileSystemXmlApplicationContext、AnnotationConfigApplicationContext。

        ApplicationContext采用立即加载策略,使用单例对象;BeanFactory采用延迟加载策略,适用多例对象。

        创建对象的三种方法:调用默认构造器、使用实例工厂方法、使用静态工厂方法。

        bean的作用范围:singleton、prototype、request、session、global-session。

        bean的生命周期:singleton与容器相同,prototype在需要时创建,容器不负责销毁,由JVM销毁。

        bean提供了两个属性init-method和destroy-method。

        ClasspathXmlApplicationContext提供了close()方法,ApplicationContext接口没有提供这个方法。

        构造器注入使用constructor-arg标签,type用于指定参数类型,index用于指定参数位置(从0开始),name用于指定参数名称(常用),value用于指定基本类型及其包装类、String类型的值,ref用于指定其他类型对象的值。

        set方法注入使用property标签,name用于指定调用set方法的名称。若某些域必须进行初始化则使用构造器注入,否则使用set方法注入。

        集合类型注入:array、list、set标签可以互换,map、props可以互换。

        如果注解只有一个名为value的属性,则属性名可以省略。

        @Autowired可以出现在变量上,也可以出现在方法上。使用注解注入时,可以省略set方法。如果有多个实现类,则在多个实现类中查找与变量名相同的bean进行匹配,如不匹配则报错。

        @Autowired与@Qualifier("id")配合使用,使用指定id的对象注入。@Qualifier用在变量上时不可单独使用,用在方法参数时可以单独使用。@Resource(name="id")与以上两个注解等效。

        @Value用于注入基本类型和String类型变量,可以使用SpEL表达式。注解不能注入集合类型值。

        @PostConstruct和@PreDestroy

        QueryRunner需要配置为多例对象。

  • 相关阅读:
    堆栈,堆栈,堆和栈的区别(转贴)
    .net cookie跨域和逗号bug的修复
    转:互联网协议入门
    函数式编程stream.js
    用例子验证w3c的stacklevel在不同浏览器中的显示
    JS创建对象的几种方法
    打开Word时总是出现 “Microsoft Office Word 需要 VBA 宏语言支持来完成此操作
    如何解决闭包只能取得包含函数中任何变量的最后一个值
    转:10个javascript简写/优化技巧
    Nicholas C. Zakas如何面试前端工程师
  • 原文地址:https://www.cnblogs.com/cbkun/p/10928767.html
Copyright © 2011-2022 走看看