`
saaya
  • 浏览: 72641 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

转载:自学笔记: 用 MyEclipse 开发的最简单的 Spring 例子

阅读更多
原文:http://www.blogjava.net/beansoft/archive/2006/12/28/90496.html

昨天没事看了看 Spring, 后来就用 MyEclipse 做了个最简单的例子.

从原理上说, Spring 的核心就是用 JavaBean 的属性机制和 Java 的反射机制, 来间接的调用 Constructor, 设置 getter 和 setter, 生成和管理 Bean 对象, 并基于 XML 配置. 相当于一个完善的可配置的 JavaBean 对象池. 其实这样类似的机制在 Servlet 容器和 EJB 容器里早已实现, 只不过他们是把实现类固定起来到厂商自己的实现, 对于用户来说, 还是基于接口开发, 例如 JSP/Servlet API 里面都是空空如也的接口. Spring 也鼓励这样的将不同的项目领域分割开来, 互相之间只通过接口互相调用. 呵呵, 这些是个人粗略的理解. 至于 Spring 自己的 MVC.... 就没那么多感觉了, 纯粹觉得是跟风之作. 就像新版本的 Acdsee 强要加入N多的图形编辑功能, 让软件大了很多, 但是功能却很鸡肋. 书籍有本 Spring Live 中文版, 浅显易懂.

启动 MyEclipse, 添加 Spring 能力(版本1.2.8), 编辑配置文件的时候用 Spring View. 最后生成的文件:

applicationContext.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="userBean" name="userBean" class="springtest.UserBean"
abstract="false" singleton="true" lazy-init="default"
autowire="default" dependency-check="default" >
<property name="name">
<value>bea</value>
</property>
</bean>
</beans>


写的 Bean:


package springtest;

public class UserBean {
private String name;
private int age;

public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}


测试运行它:


package test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import springtest.UserBean;

public class TestUserBean {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserBean bean = (UserBean) ctx.getBean("userBean");
System.out.println(bean.getName());
}
}


Ok, got it, 最简单的 Spring 例子, 还没有基于接口开发的, 就是为了比较它和普通的 Bean 模式有何差异.

分享到:
评论
1 楼 dhxyu 2007-09-18  
引用楼主:
【至于 Spring 自己的 MVC.... 就没那么多感觉了, 纯粹觉得是跟风之作. 就像新版本的 Acdsee 强要加入N多的图形编辑功能, 让软件大了很多, 但是功能却很鸡肋. 】
看来对spring web 还是不了解!!

相关推荐

Global site tag (gtag.js) - Google Analytics