IOC常用的创建对象方式

1、User.java

public class User {

   private String name;

   public User() {
       System.out.println("user无参构造方法");
  }

   public void setName(String name) {
       this.name = name;
  }

   public void show(){
       System.out.println("name="+ name );
  }

}

2、beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

   <bean id="user" class="com.kuang.pojo.User">
       <property name="name" value="kuangshen">
   </property></bean>

</beans>

3、测试类

@Test
public void test(){
   ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
   //&#x5728;&#x6267;&#x884C;getBean&#x7684;&#x65F6;&#x5019;, user&#x5DF2;&#x7ECF;&#x521B;&#x5EFA;&#x597D;&#x4E86; , &#x901A;&#x8FC7;&#x65E0;&#x53C2;&#x6784;&#x9020;
   User user = (User) context.getBean("user");
   //&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5; .
   user.show();
}

1、UserT . java

public class UserT {

   private String name;

   public UserT(String name) {
       this.name = name;
  }

   public void setName(String name) {
       this.name = name;
  }

   public void show(){
       System.out.println("name="+ name );
  }

}

2、beans.xml 有三种方式编写

<!-- 第一种根据index参数下标设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
   <!-- index指构造方法 , 下标从0开始 -->
   <constructor-arg index="0" value="kuangshen2">
</constructor-arg></bean>
<!-- 第二种根据参数名字设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
   <!-- name指参数名 -->
   <constructor-arg name="name" value="kuangshen2">
</constructor-arg></bean>
<!-- 第三种根据参数类型设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
   <constructor-arg type="java.lang.String" value="kuangshen2">
</constructor-arg></bean>

3、测试

@Test
public void testT(){
   ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
   UserT user = (UserT) context.getBean("userT");
   user.show();
}

Original: https://www.cnblogs.com/b10100912/p/16655405.html
Author: 学习钱厚端的小白
Title: IOC常用的创建对象方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/615797/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Cit 入门操作笔记

    Git操作入门 Git 是一个快速、可扩展的 分布式版本控制系统 ,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.Git与你熟悉的大部分版本控制系统的差别是很大的。相…

    Java 2023年6月15日
    069
  • 数据库多表查询 联合查询 增删改查

    插入 方式一 语法: insert into 表名 (字段名,…) values (值,…); 特点: 1、要求值的类型和字段的类型要一致或兼容 2、字段的个数和顺序不一定…

    Java 2023年6月6日
    092
  • Xshell 利用跳板机连接局域网的目的主机

    跳板机配置 配置主机 端口号 主机: xxxx 配置登录用户 && 密码 用户: xxxx 密码: xxxx 配置跳板机监听端口 配置目的主机的连接 配置ip 端口…

    Java 2023年6月7日
    086
  • 程序员的职业素养

    一、专业主义 专业主义不但象征着荣誉和骄傲,而且明确意味着责任和义务,其精髓在于将公司利益视同个人利益,即担当责任。如不能为了交付时效而忽略测试环节,要为不完美承担责任(失误率永远…

    Java 2023年6月9日
    077
  • Android连载39-简析HAL、拨号盘

    一、简析HAL结构 HAL是一个位于操作系统和驱动程序之上,运行在用户空间中的服务程序。 目的:对上层应用提供一个统一的查询硬件设备的接口。 好处:简化了应用程序查询硬件的逻辑 注…

    Java 2023年6月13日
    079
  • Skywalking-09:OAL原理——如何通过动态生成的Class类保存数据

    OAL 如何通过动态生成的 Class 类,保存数据 前置工作 OAL 如何将动态生成的 SourceDispatcher 添加到 DispatcherManager // org…

    Java 2023年6月5日
    089
  • Golang中的defer、panic与recover关键字

    一、defer关键字 1.defer关键字定义了在当前函数生命周期结束之前触发的一种机制,类似于C++中的析构函数,Java中的final关键字。如在main函数中定义: defe…

    Java 2023年6月13日
    069
  • java基础学习-方法重载

    什么是重载? 让类以统一的方式处理不同数据类型的一种手段。就是多个方法名一样,但是参数个数/类型不同。 1、构造器方法重载 什么是构造器?java用构造器来保证我们创建的对象在使用…

    Java 2023年6月13日
    088
  • 05、SpringBoot 启动 准备运行环境(prepareEnvironment)流程(二)

    目录:Springboot源码学习目录上文:04、SpringBoot 启动 准备运行环境(prepareEnvironment)流程(一)前言:上文中有一个最重要的点,就是发送准…

    Java 2023年6月13日
    062
  • 到底为什么不建议使用SELECT *?

    “不要使用 SELECT *“几乎已经成为了MySQL使用的一条金科玉律,就连《阿里Java开发手册》也明确表示不得使用 *作为查询的字段列表,更是让这条规…

    Java 2023年6月7日
    072
  • leetcode 101. Symmetric Tree 对称二叉树(简单)

    一、题目大意 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3]输出:true 示例 2: 输入:root =…

    Java 2023年6月13日
    0141
  • IDEA快捷键究极整合,建议收藏!

    自动代码 常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user :…

    Java 2023年6月16日
    076
  • 阅读笔记三

    读《梦断代码》有一段时间了,此书从卡普尔的chandler项目深刻剖析了”软件难做”的几大原因,每章都使人回味无穷。合上书本,我作为一名计算机系的学生,感到…

    Java 2023年6月7日
    065
  • 2021/2/1

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何…

    Java 2023年6月5日
    069
  • Java学习第二周—数据结构和集合框架

    Java 数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector…

    Java 2023年6月9日
    074
  • 各种锁、volatile、synchronized、单例模式

    1、 锁 (1)各种锁 == 可重入锁(递归锁):广义上的可重入锁,并非单指ReentrantLock。指的是同一线程外层函数获得锁后,内层递归函数仍然有获得该锁的代码,但不锁影响…

    Java 2023年6月5日
    054
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球