Spring学习总结之高级装配】的更多相关文章

1.  profile profile可以决定bean在什么环境下才被装配(开发环境.测试环境.线上环境等) @Profile(“dev”)可以用在class之前,也可以用在类之前(Spring3.2),表示类或者方法返回类只有在dev环境激活时才被创建:也可以在XML文件中配置. 激活profile:作为DispatcherServelet的初始化参数 作为web应用的上下文参数 作为JNDI条目 作为环境变量 作为JVM的系统属性 在集成测试类上,使用@ActiveProfile注解设置 2…
一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组件扫描默认是不启动的,需要显式的配置Spring,从而命令Spring去寻找带有(@Component)注解的类,并为其创建bean. 1.定义接口 package com.seven.springTest.service; public interface HelloWorldApi { publ…
一,介绍Bean的装配机制 在Spring中,容器负责对象的创建并通过DI来协调对象之间的关系.但是我们要告诉Spring创建哪些Bean并且如何将其装配在一起.,装配wiring就是DI依赖注入的本质. Spring装配bean有几种机制: 在XML中进行显式配置 在Java中进行显式配置 隐式的bean发现机制和自动装配 三种机制可能会给我们选择上造成困扰?哪个好?是不是不同情况有不同的选择? 答:会在很多场景下,选择哪种机制完全取决于个人的喜好,但是我推荐用自动装配,可以自动装配我们为什么…
最近在读spring实战一书,个人感觉内容通俗易懂,学到了一些之前并不知道的知识,于是打算在博客里记录一下这些知识点便于后期记忆: 今天要记录的就是spring的条件化创建bean,针对条件化创建bean方面spring有两方面处理机制,分别是spring3.1引入的profile机制和4.0引入的通过@Conditional注解来定义条件化的bean,下面进行一一介绍.其中例子全部copy书中的案例 一.profile机制 书中是通过要创建三个分别适用于开发,生产和qa环境的DataSourc…
装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一种或者混合使用.但是我的个人建议还是尽可能的使用自动配置机制,毕竟显式的配置越少越方便.但如果必须要显示的配置 bean 的时候,推荐使用比 XML 类型安全更好的 JavaConfig 方式. 自动化装配 Bean Spring 通过如下两个方式来实现自动化装配: 组件扫描(component s…
除了组件扫描与自动装配之外还有基于Java代码的装配与基于XML的装配. 有一些场景是我们不能用自动装配的,比如我们要给第三方库中的组件装配到我们的应用中,这时自动装配无效,因为自动装配只能扫描本应用中的包. 这时我们就要在基于代码代码的装配和基于XML的装配中进行选择,前面我们说到了JavaConfig相比XML更强大更安全. 一.基于Java代码的装配Bean(JavaConfig) 但是JavaConfig又与Java有所区别. 概念上  JavaConfig是配置 与应用的其他代码业务逻…
使用@Autowired注解 从Spring2.5开始,最有趣的一种装配Spring Bean的方式是使用注解自动装配Bean的属性.Spring默认禁用注解装配,最简单的启用方式是使用Spring的context命名空间配置中的<context:annotation-config>元素,如下所示: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.…
上面说过,IOC的注入有两个地方需要提供依赖关系,一是类的定义中,二是在spring的配置中需要去描述.自动装配则把第二个取消了,即我们仅仅需要在类中提供依赖,继而把对象交给容器管理即可完成注入.在实际开发中,描述类之间的依赖关系通常是大篇幅的,如果使用自动装配则省去了很多配置,并且如果对象的依赖发生更新我们可以不需要去更新配置,但是也带来了一定的缺点. 说白了就是只需要声明bean,至于对象间的相互引用关系由Spring自己搞定.. 使用方式:no(不启用),byName(根据名称),byTy…
上篇介绍了如何基于profile来条件化创建bean,spring会根据profile的激活状态来进行创建;这篇介绍如何基于spring4.0引入的@Conditional和Condition接口来更加完美的创建bean: 假设你希望一个或多个bean只有在应用的类路径下包含特定的库时才创建.或者我们希望某个bean只有当另外某个特定的bean也声明了之后才会创建.我们还可能要求只有某个特定的环境变量设置之后,才会创建某个bean.在Spring 4之前,很难实现这种级别的条件化配置,但是Spr…
前言 前面讲解了bean的核心装配技术,其可应付很多中装配情况,但Spring提供了高级装配技术,以此实现更为高级的bean装配功能. 高级装配 配置profile bean 将所有不同bean定义放置在一个或多个profile中,在将应用部署到每个环境时,要确保对应的profile处于激活状态.如配置了如下数据源,并使用profile注解定义. JavaConfig配置profile 开发环境中的数据源配置 package com.hust.grid.leesf.ch3; import jav…