三、使用SpringIOC进行设值注入

2018-08-28  本文已影响0人  lifeline张

一、本课目标

二、Hello,Spring!

需求分析:如何使用Spring实现控制反转?

2.1添加Spring到项目中

1、引进jar包:(所有的Spring的内容都可以从Spring官网上下载:repo.spring.io)访问官网——搜索(spring-framework-3.2.13)——我们需要的是: 火狐截图_2018-08-28T02-13-01.855Z.png
解压之后有三个文件夹: image.png
第一个文件夹是spring的一些api和一些相关内容的介绍,第二个文件夹是它的所有的jar包,第三个文件夹是它的配置文件的元素所以来的schema元素。

项目需要引进的所有的jar包都已经归类整理在E盘。到时候后直接用就好。
2、编写HelloSpring类
代码如下:

package cn.springdemo;

public class HelloSpring {

    // 定义变量who,它的值通过spring框架注入
    private String who;

    /**
     * 定义打印方法,输出一句完整的问候
     */
    public void print() {
        System.out.println("Hello," + this.getWho() + "!");
    }
    
    public String getWho() {
        return who;
    }

    public void setmmp(String who) {
        this.who = who;
    }
     
}

3、编写配置文件
配置文件的头信息去哪里找?
在解压下载下来的spring包中——docs——spring-framework-reference——htmlsingle——用谷歌打开index.html——使用ctrl+f查找“spring-beans”,复制找到的xml文件的头信息即可。
beans标签里面可以写bean标签,bean标签其实就是管理我们的类的标签,里面有两个属性:id和class。class属性是指我们的这个bean要管理的类的完全限定名,id是这个类的别名,其实就相当于new了一个对象出来。bean其实就是为了生成一个对象实例。

<?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元素声明spring创建的对象实例,id属性指定对象的唯一标识符,方便程序的使用
         class属性可以指定被声明的实例对应的类
     -->
    <bean id="helloSpring" class="cn.springdemo.HelloSpring">
        <!-- 指定被赋值的属性名 -->
        <!-- 这个name属性跟这个类的set方法后面的名字是对应的
               比如说设置who的set方法叫做setThisWho,则这个地方
               name属性的值应该写为ThisWho,
               并不是跟成员变量的名字一致
         -->
        <property name="mmp">
            <!-- 赋值的内容 -->
            <value>mmp</value>
        </property>
    </bean>
</beans>

4、单元测试
测试类代码:

package test;

import static org.junit.Assert.*;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.springdemo.HelloSpring;

public class HelloSpringTest {

    @Test
    public void test() {
        // 读取配置文件
        ApplicationContext context = 
            new ClassPathXmlApplicationContext("ApplicationContext.xml");
        HelloSpring helloSpring = (HelloSpring) context.getBean("helloSpring");
        helloSpring.print();
    }

}

运行结果:


image.png

注:
1、读取配置文件还可以用ApplicationContext 的下面这个实现类:FileSystemXmlApplicationContext
2、除了使用ApplicationContext 及其实现类之外,还可以用BeanFactory接口及其实现类来对Bean进行管理。

三、小结

image.png
上一篇 下一篇

猜你喜欢

热点阅读