Spring的第一个例子

Posted 言凡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的第一个例子相关的知识,希望对你有一定的参考价值。

Spring 的控制翻转IoC,或者依赖注入。在测试类中没有new一个新对象,对象是从xml文件中注入的。

xml文件中的<beans>是一个大容器,里面的<bean>就是容器里面的内容,这些内容是一个一个的实例对象。

我们把对象创建在了xml文件中,所以就不用再在Java中创建对象了,当我们使用这些对象的时候,就从xml的bean注入即可。

1.创建类

package com.wangcf;

public class HelloWorld {
    private String name;
    public void sayHello(){
        System.out.println("Hello World"+name);
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

2.创建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" 
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
    >
    <!-- 注册一个Hello World,实例名称为HelloWorld -->
    <bean name="helloworld" class="com.wangcf.HelloWorld">
        <property name="name">
            <value>小明</value>
        </property>
    </bean>
</beans>

3.创建测试类

package com.wangcf;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HelloTest {

    @Test
    public void testSayHello() {
        //创建Spring 容器
        ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
        //从容器中得到一个bean,也就是一个实例对象
        HelloWorld hello=(HelloWorld)context.getBean("helloworld");
        hello.sayHello();
    }

}

4.输出结果

以上是关于Spring的第一个例子的主要内容,如果未能解决你的问题,请参考以下文章

golang goroutine例子[golang并发代码片段]

分享几个实用的代码片段(附代码例子)

分享几个实用的代码片段(附代码例子)

Android Jetpack 导航禁用滚动位置

如何创建片段以重复变量编号中的代码行

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段