你想知道的Spring框架配置使用流程和依赖注入!
1.加载配置文件(了解
/**
* Spring开启容器的方式:ApplicationContext 应用上下文(可以配置并管理Bean对象,及其他工作)
* ClassPathXmlApplicationContext 根据classpath路径,指定一个xml文件(配置文件),并根据配置文件完成配置(如Bean的实例化)
*/
ApplicationContext context = new ClassPathXmlApplicationContext("applications.xml");
2.初始化(掌握)
根据配置项,进行初始化:如定义的Bean进行实例化
<bean id="bit" class="java.lang.String"></bean>
其中id是名称,class是类型
3.初始化(掌握)
使用:如根据容器获取到Bean对象
String bit = (String) context.getBean("bit") //通过bean的名称获取
String bit2 = context.getBean(String.class) //通过类型获取bean 对象,如果该类型有多个对象,就会报错
4.依赖注入
具体大家可以看相关文档
Spring 依赖注入(Dependency Injection,DI)主要有两种实现方式,分别是 属性注入和构造函数注入。具体如下:
1)构造函数注入
- 指 IoC 容器使用构造函数注入被依赖的实例。可以通过调用带参数的构造函数实现依赖注入,每个参数代表一个依赖。
代码:
<bean id="bit" class="java.lang.String"><constructor-arg value="小比特,大梦想"/></bean>
2)属性注入
指 IoC 容器使用 setter 方法注入被依赖的实例。通过调用无参构造器或无参 static 工厂方法实例化 Bean 后,调用该 Bean 的 setter 方法,即可实现基于 setter 的 DI。
在 Spring 实例化 Bean 的过程中,首先会调用默认的构造方法实例化 Bean 对象,然后通过 Java 的反射机制调用 setXxx() 方法进行属性的注入。因此,setter 注入要求 Bean 的对应类必须满足以下两点要求。
必须提供一个默认的无参构造方法。必须为需要注入的属性提供对应的 setter 方法。
使用 setter 注入时,在 Spring 配置文件中,需要使用 元素的子元素 为每个属性注入值。而使用构造注入时,在配置文件中,主要使用 标签定义构造方法的参数,使用其 value 属性(或子元素)设置该参数的值。
代码:
<bean id="d1" class="jl.Duck"><property name="name" value="LadyGaga"/><property name="age" value="18"/></bean>
你想知道的Spring框架配置使用流程和依赖注入!相关推荐
- SSM—Spring框架,IOC理论推导,Hello Spring,IOC创建对象方式,Spring的配置,DI(依赖注入)
文章目录 1.Spring 1.1.Spring简介(了解) 1.2.spring优点 1.3.组成(七大模块) 1.4.拓展 2.IOC理论推导 2.1.IOC本质 3.Hello Spring 4 ...
- spring框架学习(二)依赖注入
spring框架为我们提供了三种注入方式,分别是set注入,构造方法注入,接口注入.接口注入不作要求,下面介绍前两种方式. 1,set注入 采用属性的set方法进行初始化,就成为set注入. 1)给普 ...
- CVer最想知道的,简单分析下《2020年度中国计算机视觉人才调研报告》
文章首发于CVer最想知道的,简单分析下<2020年度中国计算机视觉人才调研报告> 最近闲来无事,老潘以一名普通算法工程师的角度,结合自身以及周围人的情况,理性也感性地分析一下极市平台前些 ...
- 网络服务器最基本的是文件,你可能想知道的15个网络常用基础知识
原标题:你可能想知道的15个网络常用基础知识 网络是一个复杂的系统,涉及知识很多.现在腾正小超人给大家分享15个常用的网络基础知识: 1) 如何查看本机所开端口 用netstat -a -n命令查看! ...
- printf 格式串和参数不匹配的后果(你想知道的C语言 1.10)
Q: 如下代码的输出结果是多少? #include <stdio.h> #include <unistd.h> #include <fcntl.h>int main ...
- 【转载】详解 Spring 3.0 基于 Annotation 的依赖注入实现
转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-iocannt/ Spring 的依赖配置方式与 Spring 框架的 ...
- 详解 Spring 3.0 基于 Annotation 的依赖注入实现--转载
使用 @Repository.@Service.@Controller 和 @Component 将类标识为 Bean Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的 ...
- Spring容器,控制反转,依赖注入
Spring boot学习之旅,为更好督促自己学习以记之,仅供参考. spring容器 程序启动的时候会创建spring容器,扫描给spring容器一个清单,比如:@Controller, @Bean ...
- spring中的控制反转和依赖注入之间的关系
Spring中的控制反转:把new这一个过程交给了spring容器去处理. 控制反转就是将new对象这一个过程交给外部去做(即Spring)而不是自己去创建. 图中的1"控制正转" ...
最新文章
- arcgis合并tif影像_微图影像地图导出拼接大图的参数说明
- java高淇_高淇java300集JAVA常用类作业
- Istio 将被捐赠给开源基金会 | 云原生生态周报 Vol. 47
- python listbox输入内容自动换行_python中的图像界面设计(二)
- React Native之react-native bundle --platform android --dev false --entry-file index.js --bundle失败
- [MySQL基础]MySQL常见命令介绍
- 尚学堂java 参考答案 第七章
- [北京]招聘C++程序员
- 基于C#的超市进销存管理系统设计与实现
- pe linux镜像,pe启动镜像img
- 机器学习-单层感知器不能实现异或运算的原因
- (79)FPGA减法器设计(半减法器)
- 【算法详解-数学】(1)φ的基本知识
- 李白关于鸿蒙的诗,李白6首山水古诗,首首美到让人心碎
- legend位置 pyecharts_pyecharts在手,天下我有(常用图表篇上)
- 积分运营系列—一款优秀积分商城产品需具备的准则与功能梳理
- okcoin 爱沙尼亚_我如何成为爱沙尼亚的电子居民
- 长时间戴太阳镜可使视力下降
- 学编程要什么基础,零基础呢?
- mysql使用教程dos图解_MYSQL使用指南DOS下操作
热门文章
- python-布尔数据
- 自定义注解--Annotation
- 创建一个国家的下拉菜单(magento2)
- 九、Citrix服务器虚拟化Xenserver虚拟机模版
- ln创建、删除软/硬链接
- NFS网络文件系统服务介绍与实战
- JSP中动态includ与静态includ的区别
- [转] VS2010中VC9.0Runtime与VC10.0Runtime在win7上装不上提示error code 1603
- NGINX SSL配置之设置HTTPS服务器
- RMAN备份恢复报错 ORA-19573: cannot obtain exclusive enqueue for datafile 5