zoukankan      html  css  js  c++  java
  • Spring基础02——Spring HelloWorld

    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文件夹下创建

    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,如果存在多个就会抛出一下异常:

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

  • 相关阅读:
    DB2高可用hadr搭建参数配置
    redis一主两从搭建
    hdu 1064 Financial Management(超级大水题)
    hdu 1009 FatMouse' Trade(贪心水题)
    文件选择性加密解密
    uva 10405 Longest Common Subsequence(最长公共子序列)
    UVa 111 History Grading (最长公共子序列)
    hdu 2550 百步穿杨(大水题)
    UVa 10066 The Twin Towers(LCS水题)
    ASP.NET学习参考站点
  • 原文地址:https://www.cnblogs.com/fengyun2019/p/10819115.html
Copyright © 2011-2022 走看看