在Spring刚出现的时候,XML是描述配置的主要方式,在Spring的名义下,我们创建了无数行XML代码.在一定程度上,Spring成为了XML的同义词. 现在随着强大的自动化配置和Java代码的配置出现,XML不再是唯一选择,也不应该是首选,学习XML配置,更多用于维护已有的XML的配置. 创建XML配置规范 在使用XML配置前,需要创建一个新的配置规范,就像JavaConfig需要我们创建带有 @Configuration注解的类,而在XML配置中,需要创建一个新的XML配置文件,并且要以…
上一篇博客中,我们讲解了使用组件扫描和自动装配实现自动化装配bean,这也是最好的使用方式. 但是某些场景下,我们可能无法使用自动装配的功能,此时就不得不显式的配置bean. 比如我们引用了一个第三方类库,需要将类库中的某个类装配到项目中,我们不可能在该类上添加@Component注解,因此无法使用自动装配的功能. Spring中有以下两种方式显式配置bean: 通过JavaConfig配置bean 通过xml配置bean 本篇博客主要讲解下通过JavaConfig配置bean的实现方法,通过x…
一.前言 本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配 上一节提到,装配Bean有三种方式,首先推荐自动装配.当自动装配行不通时,就需要采用显示配置的方式了. 显示配置有两种方案:Java 和 XML.当需要显示配置时,首选类型安全并且比XML更强大Java配置. 二.Java配置 实现Java配置只需两步: (1)使用@Configuration声明一个配置类 (2)在配置类中使用@Bean声明一个Bean,同时可通过方法名注入bean. 三.Java配置实例 pac…
上篇博文讲Spring的IOC容器时说道,虽然容器功能强大,但容器本身只是个空壳,需要我们主动放入装配对象,并告诉它对象之间的协作关系,然后容器才能按照我们的指示发挥它的魔力,完成装配bean的使命.这里,我们把Spring创建应用对象之间的协作关系的行为成为装配.Spring提供了很多装配bean的方式供我们在开发中选择,我们常用到的有三种装配机制:自动装配.Java注解和XML配置.通常我们将第一种称为隐式的装配机制,后面两种为显示的装配机制.实际应用中,基于便利性考虑,首选的肯定是隐式的自…
在上一篇控制反转中我们看到了依靠一个Bean文件来实现对代码的控制,可谓十分便捷,再也不用去实例化对象了,2333~~~ 1.手动装配 <bean id="todo" class="com.eco.daoimp.Usertodo1"></bean> <!--定义Userservice类内部接口的引用(userdao)指向具体的实现类对象(Usertodo1) --> <bean id="userservice&qu…
1.XML配置的Bean自动装配 SpringIOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,而不需要手工去指定要装配的Bean,autowire属性有两个值byName和byType,分别对应按照名称装配和按照类型装配. —byName:根据bean的名字和bean setter风格的属性名进行自动装配,若有匹配的则进行装配,如果没有则不进行装配 —byType:根据bean的类型进行装配,如果有一个以上该类型的bean那么就会报错.…
通过XML装配Bean ​ 尽管我们在生成Bean的过程中可以用到很多方法,但我们依然需要Spring的XML配置来完善更多的需求,下面就来介绍下XML装配Bean的过程是怎样的. 3.1创建XML配置规范 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo…
Spring在配置时候有三种方案可选 1.在xml中进行显示配置 2.在java中进行显示配置 3.隐式的Bean发现机制和自动装配 今天学习的 第一种—— 在xml中进行显示配置 老规矩 先创建 CompactDisc 接口 ,DangNianQing 单首CD碟子,指定播放的CD碟子类 RandomCd 还有播放器 CDPlay CompactDisc package com.bean.xml; /** * Created by IntelliJ IDEA. * Author XueYuan…
IOC/DI IOC(控制反转):对象(组件)的创建由代码中转移到外部容器(XML,注解) . DI(依赖注入):当类A需要使用类B时,那么我们需要为类A的属性赋值类B的对象. 这种现象我们称为依赖注入. 注意:IOC/DI指的是同一个东西,理解的角度不一样. 补充:组件化思想:分离关注点,使用接口,不再关注实现. AOP(面向切面编程) AOP:是一种通过预编译和运行期动态代理的方式实现在 不修改源代码的情况下给程序动态添加功能的技术. 原理: a.将复杂的需求分解出不同方面,将散布在系统中的…
内容 声明bean 构造器注入和Setter方法注入 装配Bean 控制bean的创建和销毁 关键词 装配(wiring) 组件扫描(component scanning) 自动装配(AutoWiring) 2.1 Spring配置的可选方案 Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系,而我们就是需要控制Spring要创建哪些Bean并且如何将其装配在一起. Spring提供了三种装配机制: 在XML中显式配置 在Java中进行显式配置(JavaConfig)…