1.首先我们来创建一个HelloWorld类,通过Spring来对这个类进行实例化

 1 package com.wzy.lesson1;  2 
 3 /**
 4  * @author wzy  5  * @version 1.0  6  * @date 2019/5/5 23:46  7  */
 8 public class HelloWorld {  9     private String name; 10 
11     public void setName(String name) { 12         System.out.println("setName : " + name); 13         this.name = name; 14  } 15 
16     public void hello() { 17         System.out.println("Hello " + name); 18  } 19 
20     public HelloWorld() { 21         System.out.println("HelloWorlds Constructor..."); 22  } 23 }

2.之后在项目的类路径下,我是在resources文件夹下创建

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Spring基础02——Spring HelloWorld 随笔 第1张

spring.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-->
    <bean id="helloWorld" class="com.wzy.lesson1.HelloWorld">
        <!--通过setName方法注入-->
        <property name="name" value="Spring"/>
    </bean>
</beans>

 

3.编写测试类创建HelloWorld类实例

 1 private static void testHelloWorld2() {  2         //1.创建Spring的IOC容器对象
 3         ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");  4 
 5         //2.从IOC容器中获取Bean实例  6 // HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");  7         //用类型获取,但是如果由多个接口的实现类,那么容器就不知道应该为我们返回哪个实例
 8         HelloWorld helloWorld = ctx.getBean(HelloWorld.class);  9 
10         //3.调用hello方法
11  helloWorld.hello(); 12     }

这里使用Spring的IOC容器ApplicationContext的实现类ClassPathXmlApplicationContext对bean进行获取,这里获取bean的方式有两种:

第一种:通过bean的id进行获取

1 HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");

第二种:通过bean的class进行获取

1 HelloWorld helloWorld = ctx.getBean(HelloWorld.class);

 

推荐使用第一种,因为在使用类名.class方式时,如果配置了两个HelloWorld类的bean那么,Spring容器将会抛出异常,因为容器无法确定你要获取的是哪一个bean,所以,如果要使用第二种的话,那么就要保证配置文件中只配置了一个HelloWorld类的bean,如果存在多个就会抛出一下异常:

Spring基础02——Spring HelloWorld 随笔 第2张

测试结果:成功创建HelloWorld类的实例

Spring基础02——Spring HelloWorld 随笔 第3张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄