[原创]Spring--让我们为POJO摇旗呐喊

原创 2006年05月25日 17:38:00

  好久没来这里了,看了Rod Johnson的<<J2EE Development without EJB>>并参加了BEA日后深有感触,决定也参与到POJO的实施中,Hibernate和Spring完美结合使我对POJO完全取代EJB那一天的到来充满信心,鉴于我的博客上只有Hibernate和struts的文章,而缺少了POJO开发中重要的成员Spring,所以特地做了例子,与大家一起分享.

  Spring--是轻量级组件部署和运行的容器,是一个解决了许多在J2EE开发中常见的问题的强大框架.Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的.生成一个对象使用new方法对面向对象程序设计来说本身就是一个小小的缺陷,使用Spring的依赖注入特性能改变这一切.

  好了,说了那么多,接下来让我们开始建立简单的Spring应用吧.

  1.首先我们需要去Spring的官方网站http://www.springframework.org/下载Spring API,如下图所示:

  另外,我们还需要使用到struts API中的commons-logging.jar,在eclipse中新建一个项目,然后将这两个包导入即可导入后的环境如下图所示:

  2.接下来我们要为Spring Project添加代码,添加的代码如下所示:

  ①Action.java(接口类)

package net.xiaxin.spring.qs;

public interface Action {
 
 public String execute(String str);

}


  ②LowerAction.java,UpperAction.java(两个大小写转换的工具类)

  LowerAction.java:

package net.xiaxin.spring.qs;

public class LowerAction implements Action{
 
 private String message;

 /**
  * @return
  */
 public String getMessage() {
  return message;
 }

 /**
  * @param string
  */
 public void setMessage(String string) {
  message = string;
 }
 
 public String execute(String str){
  return (getMessage()+str).toLowerCase();
 }
}

  UpperAction.java:

package net.xiaxin.spring.qs;

public class UpperAction implements Action{
 
 private String message;

 /**
  * @return
  */
 public String getMessage() {
  return message;
 }

 /**
  * @param string
  */
 public void setMessage(String string) {
  message = string;
 }
 
 public String execute(String str){
  return (getMessage()+str).toUpperCase();
 }
}

  ③bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
 "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
 <description>Spring Quick Start</description>
 
 <bean id="TheAction1" class="net.xiaxin.spring.qs.UpperAction">
  <property name="message">
   <value>Hello1</value>
  </property>
 </bean>
 <bean id="TheAction2" class="net.xiaxin.spring.qs.LowerAction">
  <property name="message">
   <value>Hello2</value>
  </property>
 </bean>
</beans>

  搭建好的结构如下图所示:

  3.最后我们写一个测试类调用上述代码.

package test;

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

import net.xiaxin.spring.qs.Action;

  public class testQuickStart {
 
 public static void main(String args[]){
  ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");
  Action action1 = (Action)ctx.getBean("TheAction1");
  System.out.println(action1.execute("zhaolin"));
  Action action2 = (Action)ctx.getBean("TheAction2");
  System.out.println(action2.execute("zhaolin"));

 }
}

  最后的结构如下:

 

  4.运行我们的测试类可以得到以下结构:

我们的小例子完成了,Spring的基础知识这里就不提了,大家根据基础知识结合这个例子就可以对Spring有个初步的了解了.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【原创】基于Spring-SpringMVC-Mybatis 的 Shiro 安全框架使用教程--转载请注明出处

概述了在完成Spring,SpringMVC,Mybatis,Shiro框架基本搭建后,对Shiro框架的基本使用

spring杂谈[原创].pdf

  • 2016-11-11 12:20
  • 2.62MB
  • 下载

(原创)Spring security用户验证机制浅谈.

1.  首先CustomUserDetailsService需要实现UserDetailsService(org.springframework.security.core.userdetails.U...

Spring Autowire自动装配 ---残梦追月原创

在应用中,我们常常使用标签为JavaBean注入它依赖的对象。但是对于一个大型的系统,这个操作将会耗费我们大量的资源,我们不得不花费大量的时间和精力用于创建和维护系统中的标签。实际上,这种方式也会在另...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)