Java Spring第一个例子

Spring基本介绍

Spring简介

Spring是一个轻量级控制反转(ioC)和面向切面(AOP)的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的:

  • 目的:解决企业应用开发的复杂性
  • 功能:使用基本的JavaBean代替EJB
  • 范围:任何Java应用

Spring的应用不仅仅局限于服务器的开发,从简单性、可测试性和松耦合性的角度,任何的Java应用都可以用Spring框架处理。

Spring的核心是控制反转面向切面

简单的来说,Spring是一个分层的、一站式的、轻量级的开源框架。

优点

本身优点
  1. 低侵入式设计,代码污染低
  2. Write Once,Run Anywhere
  3. DI有效的降低了耦合度
  4. AOP提供了通用任务的集中管理
  5. ORM和DAO简化了对数据库访问
  6. 高度开放性,并不强制
给开发带来的好处
  • 可以有效组织中间层对象
  • 使用统一的配置文件
  • 促进良好的编程习惯,减少编程代价
  • 易于单元测试
  • 使EJB成为一种备选
  • 为数据存取提供了一致的框架

Spring 特点

  • 方便解耦,简化开发
  • AOP编程的支持
  • 声明式事务的支持
  • 方便程序的测试
  • 方便集成各种优秀框架
  • 减低Java EE API的使用难度
  • Spring的源码是经典学习范例

Spring 的核心模块

  1. 核心容器(Spring Core)
  2. 应用上下文(Spring Context)
  3. AOP模块(Spring AOP)
  4. JDBC和DAO模块(Spring DAO)
  5. 对象实体映射(Spring ORM)
  6. Web模块(Spring Web)
  7. MVC模块(Spring Web MVC)

Spring核心模块

开始我们的第一个例子

情景假设

一个人在不同的国家要用不同的语言打招呼。
在中国->你好;
在外国->Hello;

整体设计

设计关系

设计实现

1. IHelloMessage

一个接口,用于定义输出问候信息

package edu.jnvc.spring.first;

public interface IHelloMessage {
	public String sayHello() ;
}

2. HelloWorld

接口的实现类,向用户输出“Hello"信息

package edu.jnvc.spring.first;

public class HelloWorld implements IHelloMessage {

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

}

3. HelloChina

接口的实现类,向用户输出“你好"信息

package edu.jnvc.spring.first;

public class HelloChina implements IHelloMessage {

	@Override
	public String sayHello() {
		return "你好";
	}

}

4. Person

一个人物类,调用IHelloMessage接口,向用户输出问候信息

package edu.jnvc.spring.first;

public class Person {
	private IHelloMessage helloMessage;

	public IHelloMessage getHelloMessage() {
		return helloMessage;
	}

	public void setHelloMessage(IHelloMessage helloMessage) {
		this.helloMessage = helloMessage;
	}
	
		public String sayHello() {
			return this.helloMessage.sayHello();
		}
}

5. Main

程序的入口类,用于加载配置文件以及启动IOC容器,调用人物类,向用户输出问候信息

package edu.jnvc.spring.first;

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

public class Main {

	public static void main(String[] args) {
		Resource r = new FileSystemResource("helloMessage.xml");
		BeanFactory f = new XmlBeanFactory(r);
		
		Person person = (Person)f.getBean("person");
		String s = person.sayHello();
		
		System.out.println("The person is currently saying "+s);

	}

}

6. helloMessage.xml

整体的配置文件,用于设置人物类的特定属性
这里,我们首先将人物设定为在中国。(ref=“helloChina”)

<?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="edu.jnvc.spring.first.HelloWrold"></bean>
	<bean id="helloChina" class="edu.jnvc.spring.first.HelloChina"></bean>
	
	<bean id="person" class="edu.jnvc.spring.first.Person">
		<property name="helloMessage" ref="helloChina"></property>
	</bean>
	
</beans>

测试

人物所在地为中国

首先设置人物所在地为中国,开始测试程序。
输出你好
可以看见,输出为你好

人物所在地为外国

将xml文件修改为ref=“helloWorld”

修改为helloWorld

输出Hello

至此,第一个例子我们就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值