• spring学习1


    工程目录如下

    要加入的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类的容器。 

      

      

  • 相关阅读:
    Vsftpd 3.0.2 正式版发布
    Putdb WebBuilder 6.5 正式版本发布
    SoaBox 1.1.6 GA 发布,SOA 模拟环境
    pynag 0.4.6 发布,Nagios配置和插件管理
    Percona Playback 0.4,MySQL 负荷回放工具
    xombrero 1.3.1 发布,微型 Web 浏览器
    Hypertable 0.9.6.4 发布,分布式数据库
    libmemcached 1.0.11 发布
    CryptoHeaven 3.7 发布,安全邮件解决方案
    Android Activity生命周期
  • 原文地址:https://www.cnblogs.com/chuiyuan/p/4599521.html
Copyright © 2020-2023  润新知