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需要配置为多例对象。

posted @ 2019-05-27 07:19  caobingkun  阅读(452)  评论(0编辑  收藏  举报