Spring ——获取IOC容器时,构造方法、set方法、类方法执行顺序
1,首先,我们在ApplicationContext.xml中会写下下面类的标示:
<bean id="helloword" class="com.xt.fristspring.HelloWord">
<property name="name" value="***Helloword类方法进行。。。。"></property>
</bean>
2,然后我们会在Main方法中获取spring的IOC容器:
//获取spring的IOC容器
ApplicationContext ctx=new ClassPathXmlApplicationContext("config/ApplicationContext.xml");
System.out.println("ioc容器创建完成。。。");
3、第三步,我们要从IOC容器获取对象,然后用该对象执行方法:
HelloWord helloWord=(HelloWord) ctx.getBean("helloword");
System.out.println("HelloWord对象创建完成。。。");
helloWord.Hello();
执行结果:

分析:1、在获取spring的IOC容器时,会执行ApplicationContext.xml中的代码,那么这个容器中就会存在HelloWord这个类的对象,则就会执行这个类的构造方法,并且会执行set方法。
2、IOC容器到此创建完成。
3、IOC容器中存在这个对象,那么我们就可以顺理成章的获取helloWord这个对象
4、到此,我们就完全获取到了这个HelloWord对象
5、然后执行类中的方法
这就是spring的控制反转的思想实现,下一篇博客我就转发我看到了一篇写的比较清晰明白介绍IOC(控制反转)思想和DI(依赖注入)思想!
Spring ——获取IOC容器时,构造方法、set方法、类方法执行顺序的更多相关文章
- 在Spring Bean的生命周期中各方法的执行顺序
Spring 容器中的 Bean 是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下十种: 通过实现 InitializingBe ...
- Spring 创建 IOC 容器时加载配置文件的几种方式
一.ClassPathXmlApplicationContext 类路径加载 1. 使用 classpath 路径,classpath 前缀加不加都可以. ApplicationContext act ...
- SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
一.Spring MVC与Spring整合时实例被创建两次的解决方案 1.问题产生的原因 Spring MVC的配置文件和Spring的配置文件里面都使用了扫描注解<context:compon ...
- Spring框架IOC容器和AOP解析
主要分析点: 一.Spring开源框架的简介 二.Spring下IOC容器和DI(依赖注入Dependency injection) 三.Spring下面向切面编程(AOP)和事务管理配置 一.S ...
- Spring的IoC容器
Spring是一个轻量级的Java开发框架,其提供的两大基础功能为IoC和AOP,其中IoC为依赖反转(Inversion of Control).IOC容器的基本理念就是"为别人服务&qu ...
- Spring框架IOC容器和AOP解析 非常 有用
Spring框架IOC容器和AOP解析 主要分析点: 一.Spring开源框架的简介 二.Spring下IOC容器和DI(依赖注入Dependency injection) 三.Spring下面 ...
- 十二、Spring之IOC容器初始化
Spring之IOC容器初始化 前言 在前面我们分析了最底层的IOC容器BeanFactory,接着简单分析了高级形态的容器ApplicationContext,在ApplicationContext ...
- 挖坟之Spring.NET IOC容器初始化
因查找ht项目中一个久未解决spring内部异常,翻了一段时间源码.以此文总结springIOC,容器初始化过程. 语言背景是C#.网上有一些基于java的spring源码分析文档,大而乱,乱而不全, ...
- Spring 中 IoC 容器简介
IoC 是一种通过描述来生成或者获取对象的技术,可以说 Spring 是一种基于 IoC 容器编程的框架 在一个系统中可以生成各种对象,并且这些对象都需要进行管理.为了描述这些对象关系,我们需要一个容 ...
随机推荐
- 表单事件集锦-input
最近在写一个手机端提交表单的项目,里面用了不少input标签,因为项目不太忙,所以,想做的完美点,但是遇到了一些问题,比如:页面中的必填项如果有至少一项为空,提交按钮就是不能提交的状态,所以需要对所有 ...
- 启动maven项目时报错Failed to start component [StandardEngine[Tomcat]]: A child container failed during start
详细错误信息:Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run (default-cli) on ...
- 浅述不同版本ios系统有什么特点 ios 1 -ios 12
版本记录 版本号 时间 V2.0 2019.08.20 前言 到目前为止,ios的版本已经发到了ios11的测试版,今年正式版马上就会出来,ios发布了这么多的版本,到底每个版本都有什么显著的特点?用 ...
- React的Virtual DOM厉害了
React 的伟大之处就在于,提出了Virtual DOM这种新颖的思路,并且这种思路衍生出了React Native,有可能会统一Web/Native开发. 在性能方面,由于用到了Virtual D ...
- linux设置脚本开机自启
由于在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 赋予脚本可执行权限假设/opt/script/ ...
- kotlin标准委托之可观察属性
所谓可观察属性就是当属性变化时可以拦截其变化,实现观察属性值变化的委托函数是Delegates.observable.该函数接受二个参数,第一个是初始化值,第2个属性值变化事件的响应器.每次我们向属性 ...
- 智能指针-共享式shared_ptr
#include <iostream>#include <string>#include <vector>#include <memory> using ...
- CBES = component-based entity system
比较好的介绍 CBES 的文章 http://www.richardlord.net/blog/what-is-an-entity-framework
- 首款物联网防火墙himqtt开源
随着5G的推进和物联网的快速推进,MQTT已然是物联网(Internet of Things,IoT)不可或缺的标准协议,预计到2025年将有超过750亿台设备连接到互联网,但物联网方面的防火墙很少. ...
- 【Gstreamer开发】用 GStreamer 简化 Linux 多媒体开发
原文:http://www.ibm.com/developerworks/cn/linux/l-gstreamer/ 一.基本概念 GStreamer 作为 GNOME 桌面环境推荐的流媒体应用框架, ...