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分离了控制器.模型对象.分派器以及处理程序对象的角色,支持多种 ...
随机推荐
- java IO之 序列流 集合对象Properties 打印流 流对象
序列流 也称为合并流. SequenceInputStream 序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从 第一个输入 ...
- 初步研究一下sourceTree
今天研究sourceTree,在此小结一下 1.下载链接:https://www.atlassian.com/software/sourcetree 2.安装,注册账户登录,连接到GitHub账号上, ...
- js实现图片旋转、模板文件查看图片大图之记录篇[二]
一个小小的前端需求送给大家,使用js实现图片旋转,并且点击图片能够实现规定格式的大图. 主要使用的是jQuery的delegate()方法实现图片旋转,该方法主要的功能就是给某个组件绑定一个或一组事件 ...
- 响应式移动端去除css的hover和jq的hover还有input在苹果下的默认样式
去除css的hover: /*直接给body添加ontouchstart*/ <body ontouchstart> 去除jq的hover: var winW01 = $(window). ...
- Java探秘之基本数据类型和包装类(int,Integer)(一)
最近闲来无聊打算做一个博客网,没事记记笔记什么,可是网站不好做,需要点时间,就先写写笔记来练练手. 可是要写什么呢,太难的好像我也写不出来,万一写错了误导别人就不好了. 哈哈,不多说,直奔主题,要是写 ...
- webgl自学笔记——光照
在Webgl中我们使用顶点着色器和片元着色器来为我们的场景创建光照模型.着色器允许我们使用数学模型来控制如何照亮我们的场景. 最好有线性代数的相关知识. 本章中: 光源.法线.材料 光照和着色的区别 ...
- linux用户及权限管理
[文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...
- 【Splay】例题
营业额统计 题目背景 HNOI2002 DAY2 T2 题目描述 Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger 拿出了公司 ...
- bootstrap-table 怎么自定义搜索按钮实现点击按钮进行查询
bootstrap-table自带搜索框感觉有点丑,我们可以把搜索功能单独拉出来放到页面的某一个位置. 首先我们看一下官方演示: 如果你感觉集成的检索框不太好看,而且我们也不想让搜索框和列表放到一块去 ...
- angularjs 选项卡tab切换(移动端用户订单状态)
<!--头部导航tabs切换--> <div class="tabs-striped tabs-top tabs-background-positive tabs-colo ...