自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 spring源码解析二

spring的bean工厂类是DefaultListableBeanFactory,工厂对象坐落在applicationContext对象中,它是在AnnotationConfigApplicationContext的父类是GenericApplicationContext的构造方法中初始化了初始化的下面来讲解工厂类中的重要属性:/** Optional OrderComparator for dependency Lists and arrays. */// 决定了实例化bean的实例化顺序,前面讲

2020-05-09 08:49:44 186

原创 spring源码解析一

查看spring源码方法1,使用intellJ IDEA 反编译class文件,反编译过来的文件不能编辑,也没有注释。2,使用maven自动下载下来的,此时的文件也不能编辑,有注释。3,在github上下载spring源码,然后在本地构建。第3中种方式是极力推荐的方式AnnotationConfigApplicationContext 注解配置应用上下文下面这行代码就会把spring所有的前提环境都准备好,bean工厂,容器以及对象的实例化都会准备好AnnotationConfigAppli

2020-05-08 20:51:14 1560

原创 代理设计模式-Proxy

设计模式—proxy什么是代理增强一个对象的功能买火车票,app就是一个代理,他代理了火车站,小区当中的代售窗口java当中如何实现代理java实现的代理的两种办法代理的名词代理对象 增强后的对象目标对象 被增强的对象他们不是绝对的,会根据情况发生变化静态代理继承 :代理对象继承目标对象,重写需要增强的方法; 缺点:会代理类过多,非常复杂聚合: 目标对象和代理对象实现同一个接口,代理对象当中要包含目标对象。 缺点:也会产生类爆炸,只不过

2020-05-24 18:28:37 133

原创 spring-aop应用

自定义注解XML文件用于描述元数据 自定义注解与xml一样,也是用于,描述元数据。 话不多说,我们来一个demoimport java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/*** 自定义注解中,有很多方法* 元数据是修饰注解的数据

2020-05-23 12:47:51 285

原创 spring-ioc应用2

spring懒加载官网已经解释的非常清楚了:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-lazy-init值得提醒的是,如果你想为所有的对象都实现懒加载可以使用官网的配置springbean的作用域文档参考:https://docs.spring.io/spring-framework/docs/current/spring-frame

2020-05-21 00:37:39 162

原创 spring-ioc应用

IOC(Inversion of Control)控制反转, 将对在自身对象中的一个内置对象的控制权反转。所谓的反转,即把内置对象的控制权反转给一个容器,而应用程序只需要提供对象的类型即可。是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)IOC是一种需要达到的目标,DI和DL是实现的手段。他们之间的关系就像ORM(关系映射)和mybatis

2020-05-18 00:16:17 144 1

原创 Python03-函数与过程编程

定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可特性:1. 减少重复代码2. 使程序变的可扩展3. 使程序变得易维护语法定义:def sayhi(x,y):#函数名,定义过程和函数都是与def开始,然后是函数名(),函数可以带形参 '''文档注释,对方法进行说明''' print("Hello, I'm nobody!") return Xxx #带返回值得称为函数,不带返回值得称为过程。函数可以返回多个obje

2020-05-13 00:54:36 1309 1

原创 spring源码分析五-日志体系

日志spring5日志打印使用的是 java.util.logging,也会使用jcl,只不过是srping-jclspring4日志打印使用的是log4j,使用的是jcl,即commons-logging.jarjava常用的日志结束:log4j, logback,log4j2, jul(java.util.logging,也就是jdk14Logger), slf4j, simple-log, jcl(jakata commons-loging,jcl现在已经停止更新,比jcl更优秀的slf

2020-05-12 21:34:57 338 1

原创 Python05-常规模块

1,定义:模块:逻辑上组织python代码,本质就是.py结尾的python文件包:用来从逻辑上组织模块。本质是一个目录,但是它带有一个__init__.py文件2,导入方法import module1,module2 可以通过模块名.变量,模块名.函数()来调用。相当于解释器把导入的模块的代码解释了一遍,然后模块中的代码赋值给了变量名为模块名的变量。from 模块名 import * 导入该模块中的变量函数等一切,当然*也可以是具体的变量或者函数,而且在外面使用时不用通过模块名.变量这种方式

2020-05-10 20:57:56 165

原创 Python04-装饰器与迭代器

装饰器定义:本质是函数,也是使用def关键字定义,(装饰其他函数)为其他函数添加附加功能。原则:1,不能修改被装饰的函数的源代码。2,不能修改被装饰的函数的调用方式。函数即“变量”:定义函数时即是将函数体赋值给了变量名为函数名的变量高阶函数:单独使用高阶函数也能给原函数添加新功能,只是会改变调用方式,或添加不了新功能;原函数必须在新函数调用时才执行。嵌套函数高阶函数+嵌套函数=》装饰器 :使用高阶函数时为了不修改原函数func(源代码), 将原函数func传递进去,然后使用嵌套函数,在内部定义

2020-05-08 21:33:06 130

原创 Python02-数据类型与计算

数据类型与运算1、整型 python2.XX里分整型和长整型;python3.XX里没长整型,都是int整型。python和其他语言不同,是没有指定整型的位宽的,因此整型不存在数值大小限制,但是由于机器寻址能力的关系,整型数值的大小仍然受机器本身限制。整型数据溢出时自动扩展。浮点占8个字节,共64位,其中52位表示底,11位表示指数,最高位1位表示符号。2、布尔值,真或假对应1与0,True和False,注意是首字母大写3、字符串,可打印字符的序列,常用功能:* 移除空白* 分割* 长度*

2020-05-08 21:24:55 279

原创 Python01-初识python

Python应用领域云计算 web开发 系统运维 金融(量化交易,金融分析)编译型语言:源代码—>>> 目标文件---->>>链接程序(可执行文件),诸如C语言。适合执行速度快,大型应用程序和数据库系统。Python 解释型语言,边解释边执行,它的运行离不开解释器,执行效率比编译型语言效率低很多。 解释型语言更容易移植, 只要有相应的解释器,移植不是问题。动态类型语言 是指在运行期间才会做数据类型校验。python和rubby静态类型语言的数据类型

2020-05-08 21:10:32 161

servlet 3.1规范

此篇文档详细介绍了servlet 3.1规范,包括servlet的变更历史,参考价值较高!

2017-10-07

JAVA servlet API说明文档

servlet容器的详细说明,包括里面接口的方法。内容如下:RequestDispatch, servlet, servletConfig, servletContext。。

2017-10-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除