Spring装配bean的三种方法:自动化装配,java代码装配,XML装配及它们的混合使用
一、自动化装配
首先,把可能被装配的类声明为组件类,告知spring要为这个类创建bean如:
import org.springframework.stereotype.Component;@ Component
public class CD{private String title="稻香";private String artist=“周杰伦”;public void play(){System.out.println("...童年的纸飞机飞回我手里...");}}
其次,在CDplayer类中声明自动装配一个CD(有两种方法,一种是构造器法,一种Setter方法):
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;@ Component
public class CDPlayer{private CD cd;at Autowiredpublic CDPlayer(CD cd){this.cd=cd;}public void play(){cd.play();}
}
最后,用java配置或xml配置启用组件扫描:
java方法:
import org.springframework.context.annotation.componentScan;
import org.springframework.context.annotation.Configuration;@ Configuration
@ ComponentScan
public class CDPlayerConfig{}
xml方法:
<bean><context:component-scan base-package="..."/>
</beans>
二、通过Java代码装配bean
用@ Bean注解来声明一个简单bean,如:
@ Bean
public CD oldCd (){return new CD();
}
这个newcd方法会返回一个对象,这个对象要注册为Spring应用上下文中的bean。
接着借助JavaConfig实现注入:
@ Bean
public CDPlayer cdPlayer(){return new CDPlayer(oldCd());
}
这里说明CDPlayer也是一个spring中的bean。
还有一种方法:
@ Bean
public CDPlayer cdPlayer(CD cd){return new CDPlayer(cd);
}
这种方法,cd既可来自自动xml装配,也可以是java配置或自动扫描,都可以。
三、通过XML装配bean
借助构造器注入初始化bean:
①注入引用:
<bean id="cdPlayer" class="soundsystem.CDPlayer"><constructor-arg ref="cd">
</bean>
②注入字面量:
<bean id="cd" class="soundsystem.BlankDisc"><constructor-arg value="稻香"><constructor-arg value="周杰伦"><constructor-arg><list><value>,,,</value><value>>...</value><!--这里是注入List集合--></list></constructor-arg>
</bean>
③设置引用属性:
<bean id="cdPlayer" class="soundsystem.CDPlayer"><property name="cd" ref="cd">
</bean>
这里name是属性名,ref是引用的bean
④注入字面量到属性中:
<bean id="cd" class="soundsystem.BlankDisc"><property name="title" value="稻香"><property name="歌手" value="周杰伦"><property name=“歌词”><list><value>第一句</value><value>第二句</value><value>第三句</value></lisst></property>
</bean>
四、三种装配方法的混合使用
在java注解中可以使用@ import(CDPlayerConfig.class)组合其他java注解,使用@ imortResource("classpath:cd-config.xml")组合其他xml注解,也可以用一个更高级的注解把Java,xml注解组合起来。
在xml中可以用<import resource="cd-config.xml">引入xml注解,也可以使用<bean class="soundsystem.CDConfig">引入java注解,也可以用一个更高级的xml把java,xml注解组合起来。
Spring装配bean的三种方法:自动化装配,java代码装配,XML装配及它们的混合使用相关推荐
- Spring创建Bean的三种方式的使用和区别
在学习Spring的时候,发现Spring的IOC(控制反转)为我们提供的三种创建Bean的方式. 1.Spring创建Bean的三种方式 这里采用XML配置,分别演示三种创建Bean的方式和代码. ...
- 记下来 Spring 装配 Bean 的三种方式
ps:拿笔记一下,面试可能会考.依赖注入DI和面向切面编程AOP是Spring框架最核心的部分.这次主要是总结依赖注入的bean的装配方式. 前言 什么是依赖注入呢?也可以称为控制反转,简单的来说,一 ...
- Spring实战(三)Spring中装配Bean的三种方式---XML、JavaConfig、AutoWire
创建应用对象之间协作关系的行为称为装配(wiring),这也是依赖注入的本质. Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系,而开发者需要告诉Spring需要创建哪些 ...
- 装配bean的三种方式
第一种:XML装配 xml装配有两种方式: 第一种:利用有参构造方法注入 User类: package com.liu.xml;import java.util.List; //xml装配bean的两 ...
- Spring 创建Bean的三种方式
创建Bean的三种方式 第一种方式:使用默认构造函数创建. 在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时.采用的就是默认构造函数创建bean对象,此 ...
- Spring 实例化bean的三种方式
第一种方法:直接配置Bean Xml代码 <bena id="所需要实例化的一个实例名称" class="包名.类名"/> 例如: 配置文件中的 ...
- Java普通类获取Spring框架Bean 的五种方法
方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemXmlApplicationContex(" ...
- 算法--生成m个指定范围的不重复随机数的三种方法分析(Java实现)
Q题目 如何产生m个在0-N范围内的无重复的随机数(不包含N) A解法 2.1 常见解法有两种: 1.间接获取--采用随机下标从已实例化的数组中取元素 2.直接获取随机数--然后一一排除 2.2 间接 ...
- java bean销毁,销毁Spring Bean的三种方法
@PreDestroy Java标准注解 实现DisposableBean的Destroy()方法 自定义销毁方法 XML 配置: Java注解 @Bean(destroy="destroy ...
最新文章
- 函数进阶学习之二 声明 定义
- 《ZEMAX光学设计超级学习手册》一一2.2 几何光学像质量评价
- springboot----静态页面templates文件访问
- 多进程与多线程通信同步机制
- Educational Codeforces Round 1(D. Igor In the Museum) (BFS+离线访问)
- Spring核心知识
- 2022 年考研数据结构_6 图
- CTO发飙:不要在Java代码中写set/get方法了,逮一次罚款***
- matlab 图例自定义,matlab中如何自定义图例_常见问题解析
- ubuntu下使用pip卸载包时出现Cannot uninstall scipy
- malloc函数的使用
- Poi操作Excel,保留格式的情况下插入行
- Unity各类数据库的基本操作(三)-- JSON
- 008 计算某一日是这一年的第几天
- java 高并发商城库存订单处理,下单减库存,如何解决高并发减库存问题
- C/C++入门级小游戏——开发备忘录
- ps处理黑眼圈黑眼袋的方法集合
- 如何查看内核版本和ubuntu版本
- 微信语音短消息amr文件转WAV
- layui 表格合计