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

本文介绍了Spring框架的基本原理,包括如何利用JavaBean的属性机制和Java反射机制来生成和管理Bean对象,并通过XML进行配置。此外,还提供了一个使用MyEclipse创建的简单Spring示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文: 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 模式有何差异.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值