Spring创建对象基本过程

使用Spring创建对象,在Spring中,这些对象都称为bean。

简单说一下Spring中创建对象的基本原理:

1、通过 property标签直接为对象属性赋值(会调用set方法,且调用无参构造方法)

    <bean class="com.zm.pojo.Hello" id="h1"><!--这里创建一个Hello类对象,该对象在Spring中id为h1,默认调用无参构造函数创建,之后通过set方法给对象的属性str赋值为Spring--><property name="str" value="Spring"/></bean>

2、通过constructor-arg标签通过下标为对象赋值(第一个参数下标为0,调用有参构造方法,不调用set方法)

    <bean class="com.zm.pojo.Hello" id="hello1"><!--下标赋值:调用有参构造函数创建对象,不使用set方法赋值--><constructor-arg  index="0" value="小白说Java"/></bean>

当我们在xml配置文件中添加好了我们需要创建的对象(bean),我们在程序中就不需要再创建对象了,只需要加载该xml文件,系统即帮我们自动创建对象。

加载对象:

 ClassPathXmlApplicationContext Context = new ClassPathXmlApplicationContext("beans.xml");

执行上方代码后,系统已经通过我们的构造方法和set方法为我们创建好了对象!

Spring创建对象基本过程相关推荐

  1. java创建对象的过程_Java创建对象的过程

    Java创建对象的过程 Java是一门面向对象的编程语言,在Java程序运行过程中每时每刻都有对象被创建出来.在语言层面上,创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象的创建又是怎样一个 ...

  2. java request 处理过程_小猿圈Java开发之从代码看spring mvc请求处理过程

    原标题:小猿圈Java开发之从代码看spring mvc请求处理过程 Java作为编程界的常青树,有自己生存的独到之处,小猿圈java讲师今天就分享一个关于从代码看spring mvc请求处理过程,通 ...

  3. IoC、Spring 环境搭建、Spring 创建对象的三种方式、DI

    二.IoC 中文名称:控制反转 英文名称:(Inversion of Control) 3.I oC 是什么? 3.1 IoC 完成的事情原先由程序员主动通过 new 实例化对象事情,转交给 Spri ...

  4. java代码启动spring_从0开始学JAVA之《Spring框架-启动过程》

    本文是以初学者角度记录学习JAVA过程,无指导之意,如有错误,请各位大神不吝指教. 希望能够通过文章编写监督自我上进,与初学者共勉!!!上篇文章我们已经初步认识 Spring 框架,接下来我们结合实际 ...

  5. spring学习---IOC--基于xml--bean管理--spring创建对象--spring注入属性--其他属性注入--外部bean--内部bean

    基于xml配置以下 bean管理 实现两种操作 a).spring创建对象 1.基于XML方式创建对象: <!-- 配置User对象的创建--><bean id = "us ...

  6. [Spring Boot] 2. Spring Boot 启动过程定制化

    在上一篇文章中,从源码角度介绍了Spring Boot的启动过程.启动的代码虽然只有短短的一行,但是背后所做的工作还真不少,其中有一些可以定制化的部分,主要分为以下几个方面: 初始化器(Initial ...

  7. Spring Bean实例化过程,怎么解决循环依赖

    1.Spring是什么? Spring有很庞大的家族,Spring一般指的其实就是SpringFramework! Ioc和aop 包含在SpringFramework中! SpringFramewo ...

  8. Spring 学习之 二----Spring创建对象的三种方式

    最近在系统的学习Spring,现在就Spring的一些知识进行总结. 我们知道Spring是一个开放源代码的设计层面的框架,他主要解决的是业务逻辑层与其他各层之间松耦合的问题. Spring 有三个核 ...

  9. Spring Boot启动过程(七):Connector初始化

    Connector实例的创建已经在Spring Boot启动过程(四):Spring Boot内嵌Tomcat启动中提到了: Connector是LifecycleMBeanBase的子类,先是设置L ...

最新文章

  1. 深度神经网络是否过拟合?
  2. Microsoft Dynamics CRM 2011 多客户端安装共用同一Sql Server 实例设置
  3. java学习与总结:多线程与并发
  4. 为什么csdn搜索自己文章时,加了英文分号的搜索不了?“ ' ”
  5. OpenLDAP / Ubuntu 18.04 下 docker 版安装
  6. 435. 无重叠区间(贪心经典题+思路+详解)
  7. vagrant网站中box下载方法
  8. eclipse编辑js卡死解决方案
  9. 使用mysqldump 导出sql数据
  10. 【★】百度网盘背后的真实策略!
  11. java writebytes()_Java ObjectOutputStream writeBytes()方法与示例
  12. Windows server 2008 R2桌面调出“计算机”等图标
  13. MySQL优化十大技巧
  14. Android常用提示框(dialog和popuwindow)
  15. 洛谷 P1168 中位数(优先队列)
  16. 摘录3:没有趋势,没有背驰。
  17. Linux快捷键大全
  18. 照片背景底色更换工具二(python+flask网页版源码及打包)
  19. Thingsboard Build踩坑(一)
  20. 测试apk-异常管控Bluetooth攻击者开发

热门文章

  1. 江城子·乙卯正月二十日夜记梦
  2. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛
  3. 第七周求圆柱体表面积
  4. Apache Flink写入Clickhouse报错 code: 1002, ip:8123 failed to respond
  5. 利用马青公式输出π的后任意位数字
  6. c语言马青公式计算圆周率,数学圆周率计算马青公式π/4=4arctan1/5-arctan1/239如何得出的?...
  7. #include NOIP2008 Junior 双栈排序 ——using namespace wxl;
  8. DStream实战之Spark Streaming整合fulme实战, Flume向Spark Streaming中push推数据 36
  9. jdbc.properties 系统找不到指定路径问题
  10. vue中v-charts图表数据如何从后台获取?【篇二】