码迷,mamicode.com
首页 > 编程语言 > 详细

spring IOC实验

时间:2017-06-29 12:38:52      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:XML   配置文件   void   roman   encoding   system   bean   数据   get   

                 软件151 朱实友

1基于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-2.5.xsd">

<!--配置beanIDClass类全名等属性,在标签中还会有property等子标签均与该bean相关(需要根据bean来设置)-->

  <bean id="..." class="...">   

  </bean>

  <bean id="..." class="...">  

  </bean>

</beans>

 例如:

<bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">

<property name="say">

          <value>你好!</value>

      </property>

    </bean>

对应的BeanGreetingServiceImpl

package cn.csdn.service;

public class GreetingServiceImpl implements GreetingService {

/**私有属性*/

private String say;

@Override

public void say() {

System.out.println("你打的招呼是:"+say);

}

public void setSay(String say){

this.say=say;

}

该类继承的接口GreetingService:

package cn.csdn.service;

public interface GreetingService {

void say();

}

那么何为SpringIoC控制反转呢?

我们来创建一个JUnit测试类:

package cn.csdn.junit;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

import cn.csdn.service.GreetingService;

 

 

public class GreetingTest {

/**测试GreetingServiceImpl的方法*/

@Test

public void test1(){

/**加载spring容器  可以解析多个配置文件 采用数组的方式传递*/

ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});

    /**IOC的控制反转体现*/

GreetingService greetingService = (GreetingService) ac.getBean("greetingServiceImpl");

greetingService.say();

}

}

 

在测试类中我们看到想要实现IoC的控制反转,首先应该加在容器:

加在容器的写法有以下几种:

①   可以同时配置多个XML描述文件

ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});

  ②   只能描述当前项目路径下的一个XML描述文件

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

  ③   使用匹配的方法在路径下寻找符合条件的XML描述文件

ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:app*.xml");

然后,我们需要通过IoC的反转机制获得Bean的对象:

GreetingService greetingService = (GreetingService) ac.getBean("greetingServiceImpl");

      最后,我们通过获得Bean对象调用Bean中的方法,输出如下:

打的招呼是:你好!

spring IOC实验

标签:XML   配置文件   void   roman   encoding   system   bean   数据   get   

原文地址:http://www.cnblogs.com/z1531610243/p/7093748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!