Spring(18)——使用Java类的形式配置bean(三)

18.4 组合多个配置通常在使用基于Java类的配置时我们可能不是单独使用一个Java类进行配置,有的时候可能会建立多个Java类进行配置,也可能是基于Java类的配置和基于XML的配置一起使用,这就需要我们将多个配置整合在一起了。18.4.1 多个Java类配置组合对于多个Java配置类的情况,我们可以通过将@Import标注在对应的配置类上以引入另外一个配置类,这样我们在使用的时候就可以只以其...
阅读(190) 评论(0)

Spring(18)——使用Java类的形式配置bean(二)

18.2 @Configuration@Configuration是标注在Class上的,当我们需要基于Java类的形式对Spring进行配置时,我们就需要在对应的配置类上使用@Configuration进行标注,这样Spring才会把对应的Class当做是一个配置用的Class。使用@Configuration进行标注的配置类默认也会被Spring作为一个bean进行注册。所以当我们的拥有多个@...
阅读(187) 评论(0)

Spring(18)——使用Java类的形式配置bean

18 使用Java类的形式配置bean定义除了传统的使用XML来配置底层的bean容器定义,Spring还支持使用大家熟悉的Java类的形式来进行配置。使用Java类的形式来进行配置时我们将使用一个Java类来作为配置的主体,并在类上使用@Configuration进行标注,表示其是一个配置类。然后将对应的bean定义都定义为Java配置类中的一个公用方法,并在方法上使用@Bean进行标注,表示其...
阅读(188) 评论(0)

Spring(17)——对JSR330标准的支持

17 对JSR330标准注解的支持除了使用Spring标准的注解来定义bean、定义bean之间的依赖关系外,Spring还支持使用JSR330标准的注解来进行相关的定义,主要是对@Inject和@Named两个注解的支持。要使用JSR330标准的注解进行对应的bean定义,我们首先需要将JSR330标准对应的jar包加入我们的classpath。笔者习惯使用Maven来管理相应的依赖,所以笔者只...
阅读(217) 评论(0)

Spring(16)——使用注解进行bean定义(二)

16.5 过滤器默认情况下,Spring将扫描所有@Component、@Controller、@Service和@Repository标注的类,以及这几个注解所派生出来的注解所标注的类,如之前介绍的自定义的@MyComponent注解,并将它们作为一个bean定义在对应的bean容器中。Spring提供了两个filter定义可以让我们对需要扫描的类进行进一步的过滤,一个是,一个是。这两个filt...
阅读(285) 评论(0)

Spring(16)——使用注解进行bean定义

16 使用注解进行bean定义除了在Spring配置文件中通过bean元素定义一个bean外。我们还可以通过在Class上使用特定的注解进行标注,然后让Spring去扫描这些特定的注解,并把它们当做一个bean进行定义。16.1 @Component@Component是Spring中用来定义bean最基本的注解,通过在Class类上标注对应的注解就可以让Spring扫描到对应的定义,并把其作为一...
阅读(270) 评论(0)

Spring(15)——基于注解的支持(二)

15.4 @Qualifier15.4.1 简介@Qualifier通常是配合@Autowired的一起使用的。我们知道使用@Autowired进行注入时默认是按照类型进行注入的。打个比方当我们使用@Autowired的定义beanA需要自动注入一个类型为BeanB的bean时,如果在bean容器中存在多个类型为BeanB的bean,那么Spring就会抛出异常。这个时候我们就可以使用@Quali...
阅读(237) 评论(0)

Spring(15)——基于注解的支持

15 基于注解的配置除了单独使用XML对Spring进行配置外,我们还可以使用注解的方式来配置对应的bean定义。如哪些class要被定义为bean,对应的bean需要注入哪些内容等。在Spring的配置中XML定义与注解定义是可以同时存在的。15.1 启用对注解的支持如果需要使用注解来配置bean定义,首先我们需要启用Spring对注解的支持。最简单的方式就是在Spring的配置文件中引入con...
阅读(93) 评论(0)

Spring(14)——PropertyOverrideConfigurer

打个比方我们在bean容器中定义了一个beanA,其中有一个属性propB,对应值为valueB,但是我又希望在不更改bean定义的情况下希望Spring在实例化beanA时将对应的属性propB的值改为valueC,那么这个时候我们就可以使用PropertyOverrideConfigurer来实现这个效果了。PropertyOverrideConfigurer实现了BeanFactoryPostProcessor接口,其将在Spring加载完对应容器中所有的bean定义之后根据定义的属性来覆盖bean定...
阅读(252) 评论(0)

Spring(13)——PropertyPlaceholderConfigurer(二)之namespace

13.6 指定加载顺序有的时候我们可能需要或者是希望定义多个PropertyPlaceholderConfigurer,这个时候我们可以通过setOrder()方法来指定PropertyPlaceholderConfigurer的处理顺序,值越小的越先处理。这样就有两个问题要考虑,当一个属性变量可以被多个PropertyPlaceholderConfigurer进行替换时,先处理的将优先替换,替换...
阅读(135) 评论(0)

Spring(13)——PropertyPlaceholderConfigurer

13 PropertyPlaceholderConfigurerPropertyPlaceholderConfigurer是对BeanFactoryPostProcessor接口的一种实现,其允许我们在定义bean的时候将bean的某些属性定义为变量形式,然后由PropertyPlaceholderConfigurer在这些bean被实例化之前利用外部定义的属性文件或者其内部定义的属性等将这些变量...
阅读(211) 评论(0)

Spring(12)——BeanFactoryPostProcessor

12 BeanFactoryPostProcessor在上一篇文章中介绍了BeanPostProcessor,我们可以通过自定义BeanPostProcessor实现对实例化以后的bean在调用其初始化方法前后加上特定的逻辑,即所谓的回调。在本文将要介绍的BeanFactoryPostProcessor和上一篇介绍的BeanPostProcessor接口类似,也是属于一个回调接口。所不同的是Bea...
阅读(222) 评论(0)

Spring(11)——可用来修改bean对象的BeanPostProcessor

11 可用来修改bean对象的BeanPostProcessor11.1 简介BeanPostProcessor是Spring中定义的一个接口,其与之前介绍的InitializingBean和DisposableBean接口类似,也是供Spring进行回调的。Spring将在初始化bean前后对BeanPostProcessor实现类进行回调,与InitializingBean和Disposabl...
阅读(162) 评论(0)

Spring(10)——bean作用范围(二)——自定义scope

10.7 自定义Scope如果用户觉得Spring内置的几种Scope不能满足需求,则可以定制自己的Scope,即实现自己的org.springframework.beans.factory.config.Scope。Scope接口定义了如下几个方法,详情请参看Spring的API文档。public interface Scope { Object get(String name, Objec...
阅读(274) 评论(0)

Spring(10)——bean作用范围

10 bean作用范围(scope)在Spring中使用Scope来表示一个bean定义对应产生实例的类型,也可以说是对应实例的作用范围。Spring内置支持的scope严格来说默认是有五种,分别是:singleton:这是默认Scope,表示在整个bean容器中或者说是整个应用中只会有一个实例。prototype:多例类型,表示每次从bean容器中都会获取到一个对应bean定义全新的实例。req...
阅读(251) 评论(0)
157条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:487910次
    • 积分:6664
    • 等级:
    • 排名:第3682名
    • 原创:157篇
    • 转载:0篇
    • 译文:0篇
    • 评论:59条
    博客专栏
    文章分类