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();
	}
}<pre name="code" class="java">

 然后是一个主方法,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 version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="helloWorld" class="com.hello.spring.HelloWorld"></bean>
	<bean id="helloChina" class="com.hello.spring.HelloChina"></bean>
	<bean id="Person" class="com.hello.spring.Person">
		<property name="helloMassage" ref="helloChina"></property>
	</bean>
</beans>

最后运行就可以实现一个这个人说的话了,当然在说的时候,要根据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就先要创建一个工厂类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值