您的位置:首页 > 编程语言 > Java开发

spring学习1

2015-06-25 11:24 459 查看
工程目录如下



要加入的jar文件有三个。

下面比较IoC与传统bean调用的不同。

接口类

package wen;

public interface Hello {
public String world= null;
public String setWords(String world) ;
public void getWords();
}


接口实现类

package wen;

public class HelloImp implements Hello{
private String wString ;

public HelloImp(){
System.out.println("我被容器自动调用");
}

@Override
public String setWords(String world) {
this.wString = world ;
return wString;
}

@Override
public void getWords() {
System.out.println("第一个spring:"+wString);
}

}


传统的bean调用

要先实例化一个对象 ,通过对象来使用这个类的方法。

package wen;

public class Test {
public static void main(String [] args ){
Hello hello = new HelloImp() ;
hello.setWords("你好") ;
hello.getWords();
}
}


IoC容器实现

在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.0.xsd"> <bean id="hello" class="wen.HelloImp">
</bean>
</beans>


spring提供了很好的测试方法,可以了解配置的类是否在spring容器中实例化。

package wen;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class HelloFactory {
public static void main(String [] args){
XmlBeanFactory bFactory = new XmlBeanFactory(
new ClassPathResource("spring.xml")) ;
Hello hello = (Hello)bFactory.getBean("hello") ;

hello.setWords("你好") ;
hello.getWords();
bFactory.destroySingleton("hello");
}
}


两者对比

传统的方法:通过接口访问对象要实例化,这增加了代码之间的耦合度,调用时还要了解实现接口类中定义的方法,还不容易对生成的对象进行管理。

容器管理方式:当程序中用到这个对象的时候,依赖容器进行实例化,实现方法调用时,只要参考接口中的实现方法,还可以对对象进行管理,消除。

Spring可以用在任何java项目中,从一定程序上说,它是对jdk的扩展,也是相对独立的,可以当作是一个管理java类的容器。 

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: