`
nakupanda
  • 浏览: 416853 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring简单使用

    博客分类:
  • java
阅读更多
时间: 2007-12-19

使用Spring的一些好处:
如果没有一个良好的组件组装机制,要做到良好的设计,获得类实例最好不用new创建而应从工厂获得,因此如果没有Spring,实现良好的设计需要很多额外工作。如果有Spring,则不用自己编写工厂,直接在配置文件中设置组件和注入相应的属性即可,在那以后可以无差别地使用接口方便地引用任何实现类.

参考下文提及的SpringTest接口、SpringTestImpl实现类和TestSpring测试类,在没有Spring类的情况下我们想在TestSpring中使用SpringTestImpl则需要(伪码):

class TestSpring{
  SpringTest st = new SpringTestFactory().getSpringTest();
  使用st
}
 
class SpringTestFactory
{
    SpringTest getSpringTest()
         return new SpringTestImpl();
}


没错,要实现良好的设计,最少最少最少也得多一个工厂,并且为了良好设计,这个工厂绝对绝对绝对要考虑很多事情。

如果有Spring,那么只需编写相应的接口和实现类,然后在Srping配置文件中组装他们,然后在程序中使用(伪码):
SpringTest st = (SpringTest)SpringFactory.getBean("SpringTest");

这样即可实现很好的设计,因为没Spring之前你需要做的很多事情现在都可以不做了。



一、下载Spring,取其spring.jar,并需要commons-logging-1.0.4.jar.

二、编写代码

1、SpringTest接口和SpringTestImpl实现类:

SpringTest.java:
 
package cn.badboy;

public interface SpringTest
{
 void say();
}
 




SpringTestImpl.java:

package cn.badboy;

public class SpringTestImpl implements SpringTest
{
 private String content;
 
 public SpringTestImpl(){}
 
 public SpringTestImpl(String content)
 {
  this.content = content;
 }
 
 public void say()
 {
  System.out.println(content);
 }
 
 public void setContent(String content)
 {
  this.content = content;
 }
 

}
 


SpringTest.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="SpringTest" class="cn.badboy.SpringTestImpl">
  <property name="content">
   <value>sbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsb</value>

  </property>

 </bean>


</beans>
 




设用类TestSpring.java:

package cn.badboy;

import java.io.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.*;

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

public class TestSpring
{
 public static void main(String args[]) throws IOException
 {
  Resource resource = new InputStreamResource(new FileInputStream("SpringTest.xml"));
  //BeanFactory factory = new XmlBeanFactory(resource);
  ApplicationContext factory = new FileSystemXmlApplicationContext("SpringTest.xml");
  
  SpringTest st = (SpringTest)factory.getBean("SpringTest");
  st.say();
 }
 
}





编译和运行。




分享到:
评论

相关推荐

    SpringBatch+Spring+Mybatis+MySql (spring batch 使用jar)

    Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...

    IDEA中使用Spring的简单入门(加小案例)

    在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...

    Spring Boot整合Spring Batch,实现批处理

    在Java开发领域,Spring Boot和Spring Batch的整合是构建高效...通过学习和实践这个示例,你不仅可以掌握如何在Spring Boot中使用Spring Batch,还能了解批处理的最佳实践,这对于处理大数据量的应用场景非常有价值。

    Groovy在Spring中的简单使用

    Groovy 在 Spring 中的简单使用 Groovy 是一种敏捷的动态语言,用于 Java 虚拟机,可以与 Java 代码无缝集成。它的类 Java 语法对于 Java 开发人员来说很自然,且可以作为纯粹的脚本语言使用。在 Spring 中动态使用...

    spring3使用示例

    `spring_dao`可能包含配置文件、DAO接口和实现,展示了如何使用Spring的事务管理、数据源配置以及异常转换。 2. **Spring AOP**: 面向切面编程(AOP)允许开发者定义“横切关注点”,例如日志、事务管理,然后将...

    SpringBlade开发手册基础版

    * 声明式服务调用:使用SpringBlade可以快速实现声明式服务调用,通过简单的步骤可以生成一个基本的微服务系统平台。 * Feign熔断机制:使用SpringBlade可以快速实现Feign熔断机制,通过简单的步骤可以生成一个基本...

    使用 Spring Boot 快速构建 Spring 框架应用

    例如,在提供的代码清单 1 中,可以看到如何定义一个简单的 Spring Boot 应用的 POM 文件,其中指定了 Spring Boot 的版本和 `spring-boot-starter-web` 依赖。 通过这种方式,Spring Boot 实现了快速构建和运行 ...

    strut2+spring+springjdbctemplate做的简易登录系统

    总的来说,这个简易登录系统结合了Struts2的MVC架构、Spring的依赖注入和事务管理以及Spring JDBC Template的数据库操作,实现了用户登录功能。通过这样的组合,开发者可以更高效地构建和维护Java Web应用。

    Spring 3.0就这么简单源代码

    《Spring3.0就这么简单》主要介绍了Spring3.0的核心内容,不仅讲解了Spring3.0的基础知识,还深入讨论了SpringIoC容器、SpringAOP、使用SpringJDBC访问数据库、集成Hibernate、Spring的事务管理、SpringMVC、单元...

    Spring简单模拟Spring容器

    标题中的“Spring简单模拟Spring容器”意味着我们将探讨Spring框架的核心特性——IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),以及如何通过编程方式模拟Spring容器的工作原理。...

    Spring Integration + Spring WS 整合

    为了将 Spring Integration 和 Spring WS 整合在一起,我们需要使用 Spring Integration 的 Web 服务 gateway。这个 gateway 允许我们将 Web 服务和 Spring Integration 集成在一起,使得我们可以使用 Spring ...

    spring使用的lib包

    这个"spring使用的lib包"包含了Spring框架运行所必需的jar包,这些库文件对于理解和构建基于Spring的应用程序至关重要。下面我们将深入探讨Spring框架的核心组件和相关知识点。 1. **IoC(Inversion of Control)...

    Spring例子

    在Spring MVC中,Controller通常是一个简单的Java类,使用了`@Controller`注解来标识。它包含了处理HTTP请求的方法,这些方法通常使用`@RequestMapping`注解来定义请求映射。例如,一个处理获取医院叫号信息的请求的...

    Spring就这么简单

    Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。...简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

    mybatis在非spring环境下如何使用

    一般使用mybatis的环境,大多都是别人已经配置...我文章中的方法不基于spring,一般很少会在真实项目中直接使用。我把我的搭建过程记录下来给有用的人吧。 https://blog.csdn.net/lxyoucan/article/details/126162493

    spring vue简单示例

    在本教程中,我们将探讨如何使用Spring Boot和Vue.js构建一个简单的Web应用程序。Spring Boot是Java领域的一个流行框架,用于简化Spring应用的初始搭建以及开发过程。Vue.js则是一款轻量级的前端JavaScript框架,以...

    spring-cloud使用的各种示例

    Spring Cloud 使用的各种示例,以最简单、最实用为标准 [Spring Cloud 中文索引](https://github.com/ityouknow/awesome-spring-cloud) &nbsp;| &nbsp; [Spring Boot学习示例代码]...

    Spring+Spring MVC+Spring JDBC+MySql实现简单登录注册

    这个简单的登录注册系统展示了Spring框架的强大功能,以及如何与其他技术如Spring MVC、Spring JDBC和MySQL协同工作,为开发者提供了一个完整的后端解决方案。通过深入理解并实践这些知识点,开发者能够构建更复杂的...

    SpringColud1简易分布式

    SpringColud1简易分布式 ● cloud-config-server:配置服务器-(通过git获取配置) ● cloud-eureka-server:eureka注册服务器 ● cloud-simple-service:一个使用mybatis的数据库应用,服务端 ● cloud-simple-...

    spring 的简单例子工程适合初学者

    这个"spring 的简单例子工程"为初学者提供了一个全面的起点,涵盖了 Spring 框架中与数据库交互的基础知识,包括 JdbcTemplate 的使用、DataSource 配置,以及 Spring MVC 和注解驱动开发的基本概念。通过这个项目,...

Global site tag (gtag.js) - Google Analytics