时间: 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();
}
}
编译和运行。
分享到:
相关推荐
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...
在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...
在Java开发领域,Spring Boot和Spring Batch的整合是构建高效...通过学习和实践这个示例,你不仅可以掌握如何在Spring Boot中使用Spring Batch,还能了解批处理的最佳实践,这对于处理大数据量的应用场景非常有价值。
Groovy 在 Spring 中的简单使用 Groovy 是一种敏捷的动态语言,用于 Java 虚拟机,可以与 Java 代码无缝集成。它的类 Java 语法对于 Java 开发人员来说很自然,且可以作为纯粹的脚本语言使用。在 Spring 中动态使用...
`spring_dao`可能包含配置文件、DAO接口和实现,展示了如何使用Spring的事务管理、数据源配置以及异常转换。 2. **Spring AOP**: 面向切面编程(AOP)允许开发者定义“横切关注点”,例如日志、事务管理,然后将...
* 声明式服务调用:使用SpringBlade可以快速实现声明式服务调用,通过简单的步骤可以生成一个基本的微服务系统平台。 * Feign熔断机制:使用SpringBlade可以快速实现Feign熔断机制,通过简单的步骤可以生成一个基本...
例如,在提供的代码清单 1 中,可以看到如何定义一个简单的 Spring Boot 应用的 POM 文件,其中指定了 Spring Boot 的版本和 `spring-boot-starter-web` 依赖。 通过这种方式,Spring Boot 实现了快速构建和运行 ...
总的来说,这个简易登录系统结合了Struts2的MVC架构、Spring的依赖注入和事务管理以及Spring JDBC Template的数据库操作,实现了用户登录功能。通过这样的组合,开发者可以更高效地构建和维护Java Web应用。
《Spring3.0就这么简单》主要介绍了Spring3.0的核心内容,不仅讲解了Spring3.0的基础知识,还深入讨论了SpringIoC容器、SpringAOP、使用SpringJDBC访问数据库、集成Hibernate、Spring的事务管理、SpringMVC、单元...
标题中的“Spring简单模拟Spring容器”意味着我们将探讨Spring框架的核心特性——IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),以及如何通过编程方式模拟Spring容器的工作原理。...
为了将 Spring Integration 和 Spring WS 整合在一起,我们需要使用 Spring Integration 的 Web 服务 gateway。这个 gateway 允许我们将 Web 服务和 Spring Integration 集成在一起,使得我们可以使用 Spring ...
这个"spring使用的lib包"包含了Spring框架运行所必需的jar包,这些库文件对于理解和构建基于Spring的应用程序至关重要。下面我们将深入探讨Spring框架的核心组件和相关知识点。 1. **IoC(Inversion of Control)...
下面我们将详细探讨Spring如何使用WebSocket以及相关知识点。 1. **Spring WebSocket概述** Spring WebSocket是Spring Framework的一部分,它提供了对WebSocket协议的支持,包括服务器端和客户端的API。Spring ...
在Spring MVC中,Controller通常是一个简单的Java类,使用了`@Controller`注解来标识。它包含了处理HTTP请求的方法,这些方法通常使用`@RequestMapping`注解来定义请求映射。例如,一个处理获取医院叫号信息的请求的...
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。...简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
一般使用mybatis的环境,大多都是别人已经配置...我文章中的方法不基于spring,一般很少会在真实项目中直接使用。我把我的搭建过程记录下来给有用的人吧。 https://blog.csdn.net/lxyoucan/article/details/126162493
在本教程中,我们将探讨如何使用Spring Boot和Vue.js构建一个简单的Web应用程序。Spring Boot是Java领域的一个流行框架,用于简化Spring应用的初始搭建以及开发过程。Vue.js则是一款轻量级的前端JavaScript框架,以...
Spring Cloud 使用的各种示例,以最简单、最实用为标准 [Spring Cloud 中文索引](https://github.com/ityouknow/awesome-spring-cloud) | [Spring Boot学习示例代码]...
这个简单的登录注册系统展示了Spring框架的强大功能,以及如何与其他技术如Spring MVC、Spring JDBC和MySQL协同工作,为开发者提供了一个完整的后端解决方案。通过深入理解并实践这些知识点,开发者能够构建更复杂的...
Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作的简单方法。...