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分离了控制器.模型对象.分派器以及处理程序对象的角色,支持多种 ...
随机推荐
- Struts框架之 执行流程 struts.xml 配置详细
1.执行流程 服务器启动: 1. 加载项目web.xml 2. 创建Struts核心过滤器对象, 执行filter → init() struts-default.xml, 核心功能的初 ...
- iOS是最安全的?苹果iOS恶意软件数量增速首次超过Android
之前小编还说Android系统似乎已经成为世界各地病毒作者的首选目标,但是近日一份安全研究报告让小编啪啪打脸. Skycure的移动安全报告显示,近三个季度内,在iOS上运行的恶意软件增加了2倍多,而 ...
- SpringMVC配置实例
一.SpringMVC概述 MVCII模式实现的框架技术 Model--业务模型(Biz,Dao...) View--jsp及相关的jquery框架技术(easyui) Contraller--Dis ...
- CC攻击网站和游戏如何针对性预防?
1:CC攻击原理 CC = Challenge Collapsar,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致 使形成拒绝服务的目的, CC攻击是DDOS(分布式拒绝服务)的一种,相比 ...
- (转)log4j(四)——如何控制不同风格的日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...
- (转)maven镜像路径配置
很多maven包无法自动下载怎么办?设置maven镜像setting.xml <mirror> <id>repo2</id> <mirrorOf>cen ...
- swift3.0 基础练习-构造对象并按要求进行排序(struct)
struct练手 构造10个学生(要求有学生的姓名.数学成绩.英语成绩),按照学生英语和数学平均分的成绩从小到大输出学生的姓名.数学成绩.英语成绩及平均分 创建一个学生构造体,包含 姓名 name 数 ...
- 【PHP】数组用法(转)
摘要: 说明数组遍历方法foreach,while,for,推荐使用foreach(PHP内部实现,简单速度最快,还可以遍历类属性).以及一些常用方法current,prev,next,end,key ...
- JS组件系列——在ABP中封装BootstrapTable
前言:关于ABP框架,博主关注差不多有两年了吧,一直迟迟没有尝试.一方面博主觉得像这种复杂的开发框架肯定有它的过人之处,系统的稳定性和健壮性比一般的开源框架肯定强很多,可是另一方面每每想到它繁琐的封装 ...
- PowerShell 脚本中的密码
引言 笔者在<PowerShell 远程执行任务>一文中提到了在脚本中使用用户名和密码的基本方式: $Username = 'xxxx' $Password = 'yyyy' $Pass ...