摘要: 6.9.4 使用@Qualifier微调基于注解的自动装配 @Primary是一种有效的方法,可以在确定一个主要候选者时按类型使用自动装配。当需要更多地控制选择过程时,可以使用Spring的@Qualifier注解。您可以将限定符值与特定参数相关联,缩小类型匹配集,以便为每个参数选择特定的bean。 阅读全文
posted @ 2019-02-18 19:25 编程老司机A 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 由于按类型自动装配可能会有多个候选者,因此通常需要对选择过程进行更多地控制。实现这一目标的一种方法是使用Spring的@Primary注解。 @Primary表明当多个bean可以自动装配到单值依赖项时,应该优先选择指定的bean。如果候选者中只存在一个“primary”bean,则它将是自动装配的 阅读全文
posted @ 2019-02-17 15:00 编程老司机A 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 6.9.2 @Autowired 正如料想的那样,您可以将@Autowired注解应用于“传统”的setter方法: 在下面的示例中,可以使用JSR 330的@Inject注解代替Spring的@Autowired注解。有关详细信息,请参见此处 您还可以将此注解应用于具有任意名称和/或多个参数的方法 阅读全文
posted @ 2019-02-16 21:26 编程老司机A 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 6.9.1 @Required @Required注解适用于bean属性setter方法,如下例所示: 此注解简单地表示受影响的bean属性必须在配置时通过bean定义中明确的属性值或通过自动装配进行填充。如果尚未填充受影响的bean属性,容器将引发异常;这允许及时和明确的失败以避免NullPoin 阅读全文
posted @ 2019-02-15 12:26 编程老司机A 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 6.9 基于注解的容器配置 使用注解配置Spring是否比XML要好? 基于注解的配置的引入引发了这种方法是否比XML更“好”的问题。简短的答案是:由它自己决定。长的答案是:每种方法都有其优点和缺点,通常由开发人员决定哪种策略更适合他们。由于它们的定义方式,注解在其声明中提供了大量上下文,才会导致更 阅读全文
posted @ 2019-02-14 18:14 编程老司机A 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 6.8.3 使用FactoryBean自定义实例化逻辑 为本身为工厂的对象实现org.springframework.beans.factory.FactoryBean。 FactoryBean接口是Spring IoC容器实例化逻辑的可插拔点。如果您有更复杂的初始化代码,这些代码在Java中可以更 阅读全文
posted @ 2019-02-13 12:43 编程老司机A 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 6.8.2 使用BeanFactoryPostProcessor定制配置元数据 我们将看到的下一个扩展点是org.springframework.beans.factory.config.BeanFactoryPostProcessor。 这个接口的语义类似于BeanPostProcessor的语义 阅读全文
posted @ 2019-02-12 12:37 编程老司机A 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 6.8 容器扩展点 通常,应用程序开发人员不需要实现ApplicationContext子类。反而,可以通过专门的集成接口的实现以插件形式来扩展Spring IoC容器。接下来的几节将介绍这些集成接口。 6.8.1 使用BeanPostProcessor定制Bean BeanPostProcesso 阅读全文
posted @ 2019-02-11 14:05 编程老司机A 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 6.7 Bean的继承 bean的定义可以包含许多配置信息,包括构造函数参数,属性值和容器特定的信息,例如初始化方法,静态工厂方法名称等。子bean的定义从父定义继承配置数据。子定义可以根据需要覆盖某些值或添加其他值。使用父子bean的定义可以节省大量的输入。实际上,这是一种模板形式。 如果以编程方 阅读全文
posted @ 2019-02-10 11:10 编程老司机A 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 6.6.3 其他Aware接口 除了上面讨论的ApplicationContextAware和BeanNameAware之外,Spring还提供了一系列Aware接口,允许bean向容器表明它们需要确定的基础依赖。其中最重要的Aware接口总结如下 - 作为一般规则,名称很好地说明了依赖类型:表6. 阅读全文
posted @ 2019-02-09 07:38 编程老司机A 阅读(229) 评论(0) 推荐(0) 编辑