在学习Spring.NET这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC). 控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection).我个人认为控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合. 我们先来看一段代码 namespace Dao {     public interf…
想一下之前学的Java,如果某个类需要引用某个对象,则需要手动new一个出来.这样带来的一个问题就是,若被引用的类发生改动或被删除,则引用它的所有类都会报错.因为两个类耦合在一起了.解决的办法就是不由类本身主动进行引用,而由一个第三方的配置文件控制.这就是所谓的控制反转.下面用一个例子说明. 在演示之前需要准备环境. IDE:Eclipse Java EE Mars Spring所需jar包:官网不提供下载,而推荐使用Maven或Gradle构建项目.不过为了方便演示仍使用原始形式,下面的地址可…
1. 谈到高级语言编程,我们就会联想到设计模式:谈到设计模式,我们就会说道怎么样解耦合.而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一.下面我就来谈谈依赖注入的应用场景. 我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性. 下面是应用场景的条件:人类使用工具劳动. 一.接口接受但是个直接耦合 2.    /// <summary>    /// 抽象人类    /…
嵌入式Linux学习分五个阶段 第一阶段: 01嵌入式环境搭建初期 02C语言语法概述 03C语言内存操作 04c语言函数 05linux基础 06gun基础 第二阶段: 01-linux之io系统编程 02-linux进程间通信 03-linux多线程 04-linux网络编程基础 第三阶段: 01-ARM开发板基础知识 02-ARM汇编语言 03-ARM硬件开发基础 04-ARM Bootloader开发 05-ARM硬件接口开发 第四阶段: 01-移植搭建 02-uboot.UART.DD…
FilterSecurityInterceptor  是比较核心的过滤器,主要负责授权工作.SecurityMetadataSource 需要安全授权的元数据资源 AuthenticationManager 认证管理器,决策访问资源的时候是否需要再次认证.AccessDesisionManager 访问决策管理器,决策是否有权限访问. 下图说明之间的调用关系:…
Python基础 对于Python,一切事物都是对象,对象基于类创建         不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上海', '深圳'] 数据类型 1.如何查找数据类型支持的方法 python终端: name=”koka“ type(name) <class 'str'> help(str) #即可显示所有字符串支持的方法或者dir(name) #也可以显示对象中的所有特性. 使用Pycharm: 在py文件中输…
函数 内置函数 常用的内建函数: type()  列出指定对象的类型 help()  能够提供详细的帮助信息 dir()    将对象的所有特性列出 vars()  列出当前模块的所有变量 file,doc,name   __file__  列出文件位置 __doc__  文档字符串 __name__ 被执行的脚本,name == __main__ if __name__ == "__main__": print("hello")   int()  abs() ma…
1.MongoDB 特点 面向集合存储,存储对象类型的数据方便 模式自由,不需要定义任何模式(schma) 动态查询 完全索引,包含内部对象 复制和故障恢复方便 高效的二进制数据存储 支持c# 平台驱动 2.体系结构 一台服务器可以创建多个Server 实例和数据库,(推荐一天server 机器创建一个实例), 数据库:MongoDB 中的一系列与磁盘有关的物理文件(数据文件,日志文件等). 数据逻辑结构:文档 (documnet) 集合(collection) 数据库(database). d…
Lesson2 Ready 和onload类似,但onload只能注册一次,后注册的取代现注册的,而Ready可以多次注册都会执行 onload是所有院所创建完毕.图片.Css等都加载完毕后才触发,而ready则是Dom元素创建完毕后就被出发,这样可以提高网页的响应速度.在JQuery中也可以用$(window).load()来实现onload那种时间调用的时机. Lesson3 JQuery内置函数 $.map(array,fn) 对数组array中每个元素逐个进行处理,fn函数将处理返回,最…
1.什么是爬虫? 请求网站并提取数据的自动化程序 2.爬虫基本流程 2.1发起请求 通过HTTP库向目标站点发起请求,即发起一个Request,请求可以包含额外的headers等信息,等待服务器响应: 2.2获取响应内容 如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML, Json字符串,二进制数据(如图片视频)等类型: 2.3解析内容 得到的内容可能是HTML,可以用正则表达式.网页解析库进行解析:可能是Json,可以直接转为J…