30-socketserver类】的更多相关文章

本文节选自<Spring 5核心原理> 1 IDEA集成Lombok插件 1.1 安装插件 IntelliJ IDEA是一款非常优秀的集成开发工具,功能强大,而且插件众多.Lombok是开源的代码生成库,是一款非常实用的小工具,我们在编辑实体类时可以通过Lombok注解减少getter.setter等方法的编写,在更改实体类时只需要修改属性即可,减少了很多重复代码的编写工作. 首先需要安装IntelliJ IDEA中的Lombok插件,打开IntelliJ IDEA后单击菜单栏中的File→S…
本文节选自<Spring 5核心原理> 阅读本文之前,请先阅读以下内容: 30个类手写Spring核心原理之自定义ORM(上)(6) 30个类手写Spring核心原理之自定义ORM(下)(7) 4 动态数据源切换的底层原理 这里简单介绍一下AbstractRoutingDataSource的基本原理.实现数据源切换的功能就是自定义一个类扩展AbstractRoutingDataSource抽象类,其实相当于数据源的路由中介,可以实现在项目运行时根据相应key值切换到对应的DataSource上…
本节内容: 1:字段是什么 2:属性判断字段的安全 3:对属性的解释 1:字段是什么 字段其实在上一节我们就使用过了:再来详细的说他一说 amespace cw { public enum gender //public 是为了让所有的类都可以使用 { 男, 女 } public class Clerk { //这就是字段了,那么字段一般 是下划线加变量名 _arg ;;字段是用来存放数据 public string _name; public gender _gerder; public in…
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包.由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用. 1.成员变量 in        标准输入流(键盘输入)    out 标准输出流(显示器)    err 标准错误输出流(显示器) 例如:    System.out.println("Test"); 该行代码的作用是将字符串”…
本文节选自<Spring 5核心原理> 1 Annotation(自定义配置)模块 Annotation的代码实现我们还是沿用Mini版本的,保持不变,复制过来便可. 1.1 @GPService @GPService代码如下: package com.tom.spring.formework.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import j…
本文节选自<Spring 5核心原理> 在之前的源码分析中我们已经了解到,依赖注入(DI)的入口是getBean()方法,前面的IoC手写部分基本流程已通.先在GPApplicationContext中定义好IoC容器,然后将GPBeanWrapper对象保存到Map中.在GPApplicationContext中设计两个Map:factoryBeanObjectCache保存单例对象的缓存,factoryBeanInstanceCache保存GPBeanWrapper的缓存,变量命名也和原生…
本文节选自<Spring 5核心原理> 接下来我们来完成MVC模块的功能,应该不需要再做说明.Spring MVC的入口就是从DispatcherServlet开始的,而前面的章节中已完成了web.xml的基础配置.下面就从DispatcherServlet开始添砖加瓦. 1 MVC顶层设计 1.1 GPDispatcherServlet 我们已经了解到Servlet的生命周期由init()到service()再到destory()组成,destory()方法我们不做实现.前面我们讲过,这是J…
本文节选自<Spring 5核心原理> 前面我们已经完成了Spring IoC.DI.MVC三大核心模块的功能,并保证了功能可用.接下来要完成Spring的另一个核心模块-AOP,这也是最难的部分. 1 基础配置 首先,在application.properties中增加如下自定义配置,作为Spring AOP的基础配置: #多切面配置可以在key前面加前缀 #例如 aspect.logAspect. #切面表达式# pointCut=public .* com.tom.spring.demo…
本文节选自<Spring 5核心原理> 1 实现思路概述 1.1 从ResultSet说起 说到ResultSet,有Java开发经验的"小伙伴"自然最熟悉不过了,不过我相信对于大多数人来说也算是"最熟悉的陌生人".从ResultSet取值操作大家都会,比如: private static List<Member> select(String sql) { List<Member> result = new ArrayList&l…
string类: 判断邮箱格式是否正确: 1.有且只能有一个@  2.不能以@开头  3.@之后至少有一个.  4.@和.不能靠在一起  5.不能以.结尾 math 类: math.ceiling() 取上限 math.floor()    取下限 math.pi             圆周率 math.sqrt()        平方根 math.round()     四舍五入(奇数.5取上限,偶数.5取下限) random 类: 初始化 random ran=new random();…