Spring框架解析
在生活中我们会有很多依赖关系,我要写一个笔记,就要有本子,笔,两种物品,还有当事人我,一共三个对象。
1、本子:可以再上面写字,这是他是属性,可被书画;
2、笔:可以在很多东西上写写画画;这也是他的属性:可以写字;
3、我:要用本子和笔完成一件事情,就是在本子上写:乐天是个sb;
我要完成这件事就要依赖于本子,笔,就存在了依赖关系, 但是你想想你要做另一件事情是不是还要依赖其他的事物呢?依赖的东西是不是要更多呢
再比如说,你要洗澡,要有毛巾,热水器,沐浴露,洗发膏,浴缸。。。好多
我们把这些依赖关系写进一个spring.xml文件里,我们就可以少用很多new了,要不然你每次用他们就要创建声明对象,然后才能使用
下面我要讲Spring环境搭建了:
一、配置文件:
1、asm-2.2.3.jar
2、asm-commons-2.2.3.jar
3、asm-util-2.2.3.jar
4、aspectjrt.jar
5、aspectjweaver.jar
6、cglib-nodep-2.1_3.jar
7、commons-logging-1.0.4.jar
8、spring.jar
还有一个核心文件:spring.xml
核心文件代码如下
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean id="m" class ="com.old.Manager"/>
<bean id="t" class ="com.old.Computer"/>
<bean id="f" class ="com.old.FrontStarff"/>
<bean id="fresh" class="com.old.FreshStarff">
<property name="manager" ref="m"/>
<property name="tool" ref="t"/>
<property name="fs" ref="f"/>
</bean>
</beans>
配置文件的第一行是不能有空行的!!!就是因为这个原因我找了好久的错误!!!!
下面的是实体类:
package com.old;
/**
*电脑这个工具具有电脑的属性
**/
public class Computer implements tool {
public String getName(){
return "computer";
}
}
某个人要使用电脑,实现使用电脑这个方法,
package com.old;
public class FreshStarff {
private Manager manager;
private tool tool;
private FrontStarff fs;
public Manager getManager() {
return manager;
}
public void setManager(Manager manager) {
this.manager = manager;
}
public tool getTool() {
return tool;
}
public void setTool(tool tool) {
this.tool = tool;
}
public FrontStarff getFs() {
return fs;
}
public void setFs(FrontStarff fs) {
this.fs = fs;
}
public void usetool(){
if ("ok".equals(manager.allow())&&"ok".equals(fs.register())){
System.out.println("yun許使用"+tool.getName());
}
}
}
前台同意使用电脑
package com.old;
public class FrontStarff {
public String register(){
return "ok";
}
}
经理同意使用电脑
package com.old;
public class Manager {
public String allow(){
return "ok";
}
}
测试类,调用封装在Spring里的内容,来实现功能,并打印到控制台
package com.old;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
//加載Spring的配置文件
ApplicationContext ac =new ClassPathXmlApplicationContext("spring.xml");
FreshStarff fh= (FreshStarff)ac.getBean("fresh");
fh.usetool();
Manager mg= (Manager)ac.getBean("m");
System.out.println(mg.allow());
tool to=(tool)ac.getBean("t");
System.out.println(to.getName());
}
}
我得天Spring内层太难了,等我研习一下继续给大家解读吧
Spring框架解析的更多相关文章
- Spring5源码解析-Spring框架中的单例和原型bean
Spring5源码解析-Spring框架中的单例和原型bean 最近一直有问我单例和原型bean的一些原理性问题,这里就开一篇来说说的 通过Spring中的依赖注入极大方便了我们的开发.在xml通过& ...
- Spring Framework框架解析(1)- 从图书馆示例来看xml文件的加载过程
引言 这个系列是我阅读Spring源码后的一个总结,会从Spring Framework框架的整体结构进行分析,不会先入为主的讲解IOC或者AOP的原理,如果读者有使用Spring的经验再好不过.鉴于 ...
- Spring框架IOC容器和AOP解析 非常 有用
Spring框架IOC容器和AOP解析 主要分析点: 一.Spring开源框架的简介 二.Spring下IOC容器和DI(依赖注入Dependency injection) 三.Spring下面 ...
- Spring框架之beans源码完全解析
导读:Spring可以说是Java企业开发里最重要的技术.而Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Oriented Programmin ...
- Spring框架之AOP源码完全解析
Spring框架之AOP源码完全解析 Spring可以说是Java企业开发里最重要的技术.Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Orie ...
- Spring框架之jms源码完全解析
Spring框架之jms源码完全解析 我们在前两篇文章中介绍了Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Oriented Programmi ...
- Spring框架之spring-web http源码完全解析
Spring框架之spring-web http源码完全解析 Spring-web是Spring webMVC的基础,由http.remoting.web三部分组成. http:封装了http协议中的 ...
- Spring框架之spring-web web源码完全解析
Spring框架之spring-web web源码完全解析 spring-web是Spring webMVC的基础,由http.remoting.web三部分组成,核心为web模块.http模块封装了 ...
- Spring框架之spring-webmvc源码完全解析
Spring框架之spring-webmvc源码完全解析 Spring框架提供了构建Web应用程序的全功能MVC模块.Spring MVC分离了控制器.模型对象.分派器以及处理程序对象的角色,支持多种 ...
随机推荐
- 大数据平台搭建-kafka集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
- 7个原因告诉你为什么要选择一个“多模型”的数据库?-ArangoDB
ArangoDB 是一个开源的分布式原生多模型数据库 (Apache 2 license). 其理念是:利用一个引擎,一个 query 语法,一项数据库技术,以及多个数据模型,来最大力度满足项目的灵活 ...
- OCP 11G 实验环境安装文档 ( RedHat5.5 + Oracle11g )
RedHat5.5 linux下Oracle11g软件安装 一.配置虚拟机 为了创建和配置虚拟机,你需要添加硬件设备如磁盘和cpu,在你开始安装之前,创建一个windows目录作为存放虚拟机的目录 目 ...
- java封装性、继承性及关键字
方法的参数传递(重点.难点)1.形参:方法声明时,方法小括号内的参数 实参:调用方法时,实际传入的参数的值 2.规则:java中的参数传递机制:值传递机制 1)形参是基本数据类型的:将实参的值传递 ...
- 简单介绍Struts2
Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...
- 函数响应式编程及ReactiveObjC学习笔记 (二)
之前我们初步认识了RAC的设计思路跟实现方式, 现在我们再来看看如果使用它以及它能帮我们做什么 One of the major advantages of RAC is that it provid ...
- 简单谈谈js中的MVC
MVC是什么? MVC是一种架构模式,它将应用抽象为3个部分:模型(数据).视图.控制器(分发器). 本文将用一个经典的例子todoList来展开(代码在最后). 一个事件发生的过程(通信单向流动): ...
- GIT - 代码管理工具之命令集
GIT 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.它会把你的每次提交的文件的全部内容都会记录下来. GIT特点 速度 简单的设计 对非线性开发 ...
- Node.js安装及环境配置之Windows篇
Node.js安装及环境配置之Windows篇 一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1. ...
- (转)Maven项目标准目录结构
场景:工作中的项目都是使用Maven的目录结构,虽然能够如期的完成开发工作,但是对于一个Maven工程的配置却并不熟悉,这里主要介绍下Maven工程的而目录结构. 1 标准目录结构 src -main ...