spring的初体验,创建一个helloworld的程序

刚刚在了一下关于spring的一些介绍,感觉自己并没有那么熟悉,什么aop什么iop的听都没有听过。我现在就在想控制翻转是什么意思,DI什么意思完全没有设么概念,虽然有图片作为参考,但是还是不是很懂,只是感觉spring提供了就是一种web开发的方法(不知道正不正确),说实话,什么一站式服务确实不怎么理解。spring提供了很多的模块,当你想要用到什么方法的时候,你就会载入这个模块,可以避免产生过多的无用代码。保持项目的干净性。还有就是spring代码的低耦合性,以前还不是理解代码的耦合性是什么意思,现在算是有了一定的理解,低耦合性的意思就是代码相互的关联不够高,这样做的好处就是可以不用牵一发而动全身。这样做就可以提高代码的可维护性。还有spring的高度开放的态度可以容纳其他的的框架。然后就是关于spring的具体的业务逻辑可能只有在以后的学习中慢慢的体会到spring的逻辑关系。到时候再来完善对spring的理解。

要用到spring先将他的jar文件构建路径。然后创建一个接口,在创建三个实体类,创建一个主方法和配置文件。

首先创建一个接口:

IHelloMassage.java

package com.hello.spring;

public interface IhelloMassage {
	
	public String sayHello();
	
}

在创建三个实体类,一个是让一个人说中文,一个是让一个人说英文。一个就是人这个实体类。

  • HelloWorld.java(说英文)
package com.hello.spring;

public class HelloWorld implements IhelloMassage {

	@Override
	public String sayHello() {
		
		return "hello world";
	}

}
  • HelloChina.java(说中文)
package com.hello.spring;

public class HelloChina implements IhelloMassage {

	@Override
	public String sayHello() {
		
		return "你好,中国!";
	}

}

  • person.java(人实例)

package com.hello.spring;

public class Person {
	private IhelloMassage helloMassage;

	public IhelloMassage getHelloMassage() {
		return helloMassage;
	}

	public void setHelloMassage(IhelloMassage helloMassage) {
		this.helloMassage = helloMassage;
	}
	public String sayHello(){
		return this.helloMassage.sayHello();
	}
}

 然后是一个主方法,Main.java 
  

package com.hello.spring;



import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;

@SuppressWarnings("deprecation")
public class Main {

	public static void main(String[] args) {
		Resource r=new FileSystemResource("helloMassage.xml");
		BeanFactory f=new XmlBeanFactory(r);
		Person person=(Person) f.getBean("Person");
		String s=person.sayHello();
		System.out.println("the person say:"+s);
	}

}


最后就是spring的配置信息:helloMassage.xml





	
	
	
		
	

最后运行就可以实现一个这个人说的话了,当然在说的时候,要根据xml的配置信息来决定,在helloMassage.xml中有个clas=com.hello.spring.Person的这个bean标签下面有个property中ref的值来确定的,如果ref的值等于ID=helloworld的标签的时候,那么他就会说英文。所以ref的值就是bean中的ID的属性值。


关于Javabean这个东西我知道的也不是很多,但是上面的main.java中的代码中有个getBean当时我以为他是读取的是Person这个类,但是现在我发现他读取的是xml里面bean中ID=Person的这个具体的实体类。当然也可以从他的方法名中发现,因为他用的是getBean,就是得到一个bean,要使用getBean就先要创建一个工厂类。

你可能感兴趣的:(java-web)