1、Spring的实现原理和现实工厂原理是一样。可以理解成Spring就是一个大的工厂。
2、我先写一个简单工厂,然后再写一个Spring对比一下。
3、简单工厂例子如下:
3.1、先写一个接口。
public interface Ren {
public void say();
}
3.2、在写两个实现类。
public class Man implements Ren {
public void say() {
System.out.println("男人在说话!");
}
}
public class Woman implements Ren {
public void say() {
System.out.println("女人在说话!");
}
}
3.3、写一个工厂类,主要用来得到类的实例,也就是初始化类。
下面做了个判断,主要是在下面测试类里面用。
public class RenFactory {
public static Ren getRenInstance(String s){
Ren r=null;
if(s=="W"){
r=new Woman();
}else if(s=="M"){
r=new Man();
}
return r;
}
}
3.4、写一个测试类,
当输入“M”,会初始化Man;
当输入“W”,会初始化Woman;
public class TestRen {
public static void main(String[] args){
Ren f=RenFactory.getRenInstance("M");//类名可以直接调用类里面的静态方法。
f.say();
}
}
所以:输出结果是“男人在说话”。
上面就是一个简单工厂的实现。
4、下面我用Spring实现上面的功能
4.1、先写一个接口。
public interface Ren {
public void say();
}
4.2、在写两个实现类。
public class Man implements Ren {
public void say() {
System.out.println("男人在说话!");
}
}
public class Woman implements Ren {
public void say() {
System.out.println("女人在说话!");
}
}
4.3、Spring操作类的写法
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestRenSpring {
public static void main(String[] args){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
Ren r=(Ren)context.getBean("w");
r.say();
}
}
4.4、Spring的配置文件的写法。
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="w" class="org.Spring.com.Woman"></bean>
<bean id="m" class="org.Spring.com.Man"></bean>
</beans>
总结比较:相当于把工厂类换成了Spring的配置文件。这样写有什么好处吗?当然有了,今后要想改动就只改配置文件就可以了。不用动后台类了。这样更容易维护吧。
TestRen与TestRenSpring测试类其实是,他们属于前台。有客户自己输入值。我们只修改配置文件就可以了。
分享到:
相关推荐
Spring框架是Java开发中最常用的轻量级框架之一,它的核心特性是依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect ...对于初学者来说,理解并熟练掌握这两个核心概念是深入学习Spring的第一步。
"spring第一个学习的例子"旨在帮助初学者快速入门Spring框架,通过实际操作理解其基本概念和工作原理。 首先,Spring的核心特性之一是依赖注入(Dependency Injection,简称DI)。这个例子可能包含了如何在配置文件...
Java Spring 入门例子和代码 第1章:Spring 框架简介 Spring 是一个开源的Java平台,它提供了全面的基础设施支持,以便你可以专注于你的业务逻辑。...第3章:第一个Spring Boot应用程序 // Application.java pack
在“Spring Boot入门例子”中,我们通常会遇到以下几个核心概念和知识点: 1. **起步依赖(Starter Dependency)**:Spring Boot 通过“起步依赖”来简化构建配置。比如,添加`spring-boot-starter-web`依赖,就能...
《Spring入门小例子详解》 Spring框架作为Java领域最广泛应用的轻量级框架之一,以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)特性,深受开发者喜爱。本篇...
这个“spring的一个简单的例子”压缩包可能是为了帮助初学者理解和入门Spring框架。以下是对这个简单例子中可能包含的知识点的详细解释: 1. **Spring 概述**: Spring 是一个开源的Java平台,它提供了一个全面的...
9. **实战演练**:通常,第二章会包含一些基础的实战例子,比如创建第一个Spring项目,配置Bean,使用AOP,或者搭建一个简单的Spring MVC Web应用,以帮助读者巩固理论知识并实践操作。 通过深入学习这一章的内容,...
如果你的数据库已经配置好, 就将第一个注释去掉. jdbc.properties: 1 jdbc.driverClassName=com.mysql.jdbc.Driver 2 jdbc.url=jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8 3 jdbc....
在"Spring第一个HelloWorld"的例子中,我们将学习如何创建一个简单的Spring应用,通过DI来管理对象的生命周期和相互依赖关系。 首先,我们需要创建一个Java类,例如`HelloWorld`,这个类将包含一个方法,如`...
**Spring MVC 入门教程** ...通过实践,你已经迈出了学习 Spring MVC 的第一步。对于标签中的 "源码",你可以在 `MySpringMVC` 中查看具体的代码实现;对于 "工具",这里主要涉及的是 Maven 和 IDE 的使用。
- **第一个使用Spring实现HelloWorld的例子:** - **编写存放HelloWorld的Java文件HelloWorld.java:** 定义一个简单的类,包含输出信息的方法。 - **配置Spring的config.xml:** 定义Bean及其依赖关系。 - **...
创建一个Spring AOP应用的第一步是设置项目结构。在给定的压缩包文件中,我们可能看到一个名为"src"的目录,通常这个目录包含项目的源代码。在Spring项目中,这通常会有一个`src/main/java`目录用于放置Java源代码,...
- `spring-security-openid` 文件可能包含了一个OpenID身份验证的示例,这允许用户使用第三方服务(如Google或Yahoo)进行身份验证,增强了用户体验。 5. **X.509证书认证**: - `spring-security-x509` 演示了...
本文将深入介绍如何进行Spring入门环境部署,以便在Eclipse集成开发环境中启动你的第一个Spring项目。 首先,你需要确保已经安装了Java Development Kit (JDK) 和Eclipse IDE。JDK是编写Java程序的基础,而Eclipse...
在IDEA中搭建Spring环境的第一步通常是创建一个新的Maven项目。Maven是一个项目管理和综合工具,它可以帮助我们管理项目的依赖。在项目中添加Spring相关的依赖,如`spring-context`,`spring-core`等,这些依赖可以...
2. 安装与配置:如何设置开发环境,创建第一个Spring项目,以及配置Spring的XML或Java配置。 3. Bean的管理:讲解Bean的定义、作用域、初始化和销毁,以及如何使用注解进行Bean的管理。 4. 依赖注入:通过XML、注解...