- [spring6: BeanPostProcessor & BeanFactoryPostProcessor]-生命周期
idolyXyz
spring6-源码阅读spring
BeanFactoryPostProcessorBeanFactoryPostProcessor接口允许在Spring容器初始化完所有的bean定义之后,但还未实例化任何bean时,修改应用上下文的内部bean工厂。通过实现postProcessBeanFactory方法,你可以覆盖或添加属性,甚至是对急切初始化的beans进行修改。//AspectJWeavingEnabler,Configur
- Spring - BeanFactory 和 ApplicationContext 有什么区别
撸帝
学习完整课程请移步互联网Java全栈工程师BeanFactory可以理解为含有bean集合的工厂类。BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法(initia
- Spring中IOC和AOP实现原理
Cat凯94
Java基础开发框架springjava
目录IOCIOC实现方式BeanFactoryBeanFactory实现方式ApplicationContextApplicationContext实现方式基于XML的Spring项目:基于SpringBoot:初始化过程AOPJDK动态代理CGLIB动态代理JDK动态代理与CGLIB动态代理的区别实现方式相关注解核心方法执行优先级IOC核心思想:将原本在程序中手动创建对象的控制权,交由Sprin
- 第二十九章 Spring之假如让你来写事务——状态篇
Spring源码阅读目录第一部分——IOC篇第一章Spring之最熟悉的陌生人——IOC第二章Spring之假如让你来写IOC容器——加载资源篇第三章Spring之假如让你来写IOC容器——解析配置文件篇第四章Spring之假如让你来写IOC容器——XML配置文件篇第五章Spring之假如让你来写IOC容器——BeanFactory和FactoryBean第六章Spring之假如让你来写IOC容器
- spring面试题【持续更新ing】
spring面试题一、什么是循环依赖(高频)?二、Spring如何解决循环依赖?三、Spring都有哪些重要的模块?四、什么是SpringIOC?五、SpringIOC有什么好处?六、Spring中的DI是什么?七、什么是SpringBean?八、Spring中的BeanFactory是什么?九、Spring中的FactoryBean是什么?十、Spring中的ObjectFactory是什么?十
- Spring 框架中用到了哪些设计模式?
脚本无敌
Springspring设计模式java
Spring框架广泛使用了多种设计模式来解决复杂问题并提升代码的灵活性和可维护性。以下是Spring中常见的设计模式及其具体应用示例,按核心场景分类说明:1.工厂模式(FactoryPattern)定义通过工厂类创建对象,隐藏对象实例化的具体逻辑。Spring中的应用BeanFactory与ApplicationContext:Spring的核心容器本身就是工厂模式的实现。BeanFactory负
- spring bean生命周期 学习记录
不会吃萝卜的兔子
spring学习java
在SimpleAutowareConfig??中1,第三级缓存存放createBean的lambda表达式(BeanFactory采用函数式接口,使用时才会创建),当获取循环引用获取早期对象时(只实例化的bean),这个早期对象不知道有没有被AOP修饰,但AOP代理,要拿到完整的对象,才能正确代理,但是代理在beanAfterPostProcessor发生在popularBean属性填充之前。2,
- Day01: Spring启动流程:从main()到容器初始化 - 深度解析SpringApplication.run()执行链路
zhysunny
Springspringjava
目录一、SpringBoot启动概览二、SpringApplication.run()执行链路三、核心:AbstractApplicationContext.refresh()源码分析1.prepareRefresh()-准备刷新上下文2.obtainFreshBeanFactory()-获取新的BeanFactory5.invokeBeanFactoryPostProcessors()-调用Be
- Spring IoC容器与依赖注入深度解析
程序员
在Spring生态系统中,控制反转(IoC)与依赖注入(DI)是实现组件解耦的核心机制。本文从容器架构、依赖注入实现、生命周期管理及面试高频问题四个维度,结合Spring源码与工程实践,系统解析IoC容器的底层原理与最佳实践,确保内容深度与去重性。IoC容器架构与核心接口容器层级体系SpringIoC容器通过接口分层设计,提供不同抽象级别的功能支持:基础容器(BeanFactory)核心接口:定义
- 【Spring】Spring Bean 管理:原理与生命周期全解析Spring Bean 管理:原理与生命周期全解析
夜雨hiyeyu.com
springspringjavarpcspringbootspirngspringcloud后端
SpringBean管理:原理与生命周期全解析一、核心管理原理二、Bean生命周期详解(8大阶段)流程图阶段详解与代码示例三、关键扩展点总结四、容器启动核心流程五、设计模式应用一、核心管理原理Spring通过IoC容器(核心接口BeanFactory)管理Bean的生命周期,实现控制反转(IoC)和依赖注入(DI):publicinterfaceBeanFactory{ObjectgetBean(
- 手写一个简化版的Spring Ioc容器(一)
一个憨憨coder
springjavaspringjava后端
实现一个简化版的IoC容器,模拟Spring的核心机制:组件扫描、Bean管理、依赖注入、单例模式、注解驱动(@Component,@Autowired,@Qualifier)和BeanFactory/ApplicationContext的基本结构。一、实现目标功能是否支持@Component注解✅@Autowired注解✅@Qualifier注解✅单例作用域✅原型作用域❌(可扩展)构造函数注入❌
- Spring IOC及AOP学习总结
weixin_33806300
gitjava
一、SpringIOC体系学习总结:Spring中有两个容器体系,一类是BeanFactory、还有一类是ApplicationContext。BeanFactory提供了基础的容器功能。ApplicationContext则是基于BeanFactory建立的一套更加丰富的容器体系,基于ApplicationContext构建了SpringAOP体系(基于AOP体系又构建了声明式事务模型),I18
- BeanFactory 和 FactoryBean 有何区别与联系?
导语:Spring是后端面试中的“常青树”,而BeanFactory与FactoryBean的关系更是高频卡人点。很多候选人混淆两者概念,答非所问,轻则失分,重则直接被“pass”。本文将从面试官视角,深入剖析这一经典问题,助你轻松搞定Spring框架核心原理面试题!一、面试主题概述在Spring框架中,BeanFactory是最基本的IoC容器,而FactoryBean是一个用于自定义Bean实
- Java spring面试题及答案(12~44题)
蒙娜丽莎的Java
学习路线面试javaspringjavahibernategithubmysql
12、BeanFactory常用的实现类有哪些?Bean工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真的应用代码中分离。常用的BeanFactory实现有DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等。XMLBeanFactory,最常用的就是org.springframework.beans.
- Spring @Autowired自动装配的实现机制
攒了一袋星辰
Spring源码分析springjava后端
Spring@Autowired自动装配的实现机制`@Autowired`注解实现原理详解一、`@Autowired`注解定义二、@Qualifier注解辅助指定Bean名称三、BeanFactory:按类型获取Bean四、注入逻辑实现五、小结源码见:mini-spring@Autowired注解实现原理详解@Autowired的注入机制与@Value注解非常相似,不同之处在于:@Value主要注
- Re:从零开始的Spring入门之IoC(二)
霞之秋诗羽
javaspringiocbean
文章目录一、Spring核心1.IoC2.Aop二、SpringIoC1.BeanFactory与ApplicationContext1)Java环境下启动IoC容器2)Web环境下启动IoC容器3)web环境下获取容器2.Bean1)Bean的实例化2)Bean的作用域和生命周期3)Bean的标签属性4)Bean的依赖注入3.xml与注解1)xml方式2)注解方式和xml混合3)依赖注入的实现方
- Spring 源码解析:finishBeanFactoryInitialization () 方法深度剖析
coderzpw
Spring系列spring
Spring源码解析:finishBeanFactoryInitialization深度剖析一、finishBeanFactoryInitialization()方法概述二、preInstantiateSingletons()方法解析三、Bean创建的核心流程3.1.getBean()和doGetBean()3.2.createBean()和doCreateBean()3.3.createBean
- Spring bean 生命周期
James bryant
springjava后端
bean的生命周期从调用beanFactory的getBean开始,到这个bean被销毁,可以总结为以下七个阶段:处理名称,检查缓存处理父子容器处理dependsOn选择scope策略创建bean类型转换处理销毁bean1.处理名称,检查缓存这一步会处理别名,将别名解析为实际名称对FactoryBean也会特殊处理,如果以&开头表示要获取FactoryBean本身,否则表示要获取其产品这里针对单例
- SpringBean模块(三)具有生命周期管理能力的类(1)AutowireCapableBeanFactory
w_t_y_y
#Springjava
一、介绍1、简介AutowireCapableBeanFactory是Spring框架中的一个接口,位于org.springframework.beans.factory包下,它提供了更底层的Bean实例化、依赖注入和生命周期管理能力,即使这些Bean没有通过常规的@Component或XML注册到Spring容器中。2、常见用途手动创建对象并注入依赖将已有对象注入到Spring容器的上下文中在运
- SpringBoot自动装配工作流程
老齐谈电商
分享springbootjavaspring
一、装配扫描自动装配大致过程如下:获取到组件(例如spring-boot-starter-data-redis)META-INF文件夹下的spring.factories文件spring.factories文件中列出需要注入IoC容器的类将实体类注入到IoC容器中进行使用核心类AutoConfigurationImportSelector(invokeBeanFactoryPostProcesso
- Spring BeanFactoryPostProcessor:机制解读与代码实践
coderzpw
Spring系列spring
BeanFactoryPostProcessor:机制解读与代码实践一、BeanFactoryPostProcessor基本知识总结1.1核心定义与作用1.2执行时机1.3与BeanPostProcessor的区别二、BeanFactoryPostProcessor使用姿势2.1修改现有Bean的定义2.2注册新Bean定义2.3全局配置处理三、BeanFactoryPostProcessor源码
- 浅析 Spring 启动过程:从源码到核心方法
coderzpw
Spring系列spring
浅析Spring启动过程:从源码到核心方法一、Spring注解方式启动类Demo二、Spring启动过程源码解析AnnotationConfigApplicationContext构造函数refresh()方法详解三、refresh()的核心方法/步骤obtainFreshBeanFactory()-获取Bean工厂prepareBeanFactory(beanFactory)-配置Bean工厂i
- Spring Bean生命周期
诗人不写诗
#Spring原理篇springjava后端
1.Bean定义加载与解析过程:Spring容器读取配置文件或扫描注解(如@Component),将Bean的定义(如类名、作用域、初始化/销毁方法等)加载到BeanDefinition。扩展点:无直接扩展,但可通过@ComponentScan或XML配置影响Bean的发现。2.BeanFactoryPostProcessor处理过程:在Bean实例化前,允许修改Bean的定义(如属性占位符替换$
- spring-aop 之 aop:config
Think_Higher
Java生态圈springjava
文章目录开头aop:config解析proxy-target-class&expose-proxyaop:pointcutaop:advisoraop:aspectaop:declare-parents其它MethodLocatingFactoryBeanSimpleBeanFactoryAwareAspectInstanceFactory总结代理子类生成入口postProcessBeforeIn
- SpringIOC注解启动原理,后置处理器BeanPostProcessor,Spring-Aop原理,Spring-Transaction原理(个人笔记)
在路上liu
Springspringaoptransaction
【Spring注解驱动原理】一.this():将6种默认的【beanFactory后置处理器】注册到applicationContext容器中,这里的后置处理器分2种,后面会有专门的invokeBeanFactoryPostProcessors(beanFactory)方法执行:(1)【BeanDefinitionRegistryPostProcessor】:1种【ConfigurationCla
- Spring IoC容器的设计与实现
Aurora_NeAr
springjava后端
Spring整体架构与模块划分核心容器(CoreContainer)spring-core基础工具类:如资源加载(Resource接口)、反射工具(ReflectionUtils)、类型转换(ConversionService)。核心接口:BeanFactory(IoC容器的基本定义)。spring-beansBean的定义与依赖管理:BeanDefinition(描述Bean的元数据)、Bean
- Spring的源码Spring的上下文怎么存储
昔我往昔
面试题springjava后端
Spring框架是一个广泛使用的Java框架,它提供了丰富的功能,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等。而在Spring的核心功能之一——ApplicationContext,它负责管理和配置Spring的bean容器。ApplicationContext是Spring容器的顶级接口,它继承自BeanFactory,并提供了更多的功能,比如事件传播、国际化支持等。Spring上
- Spring AOP - 代理入口类
埃泽漫笔
Spring源码javaspringaop代理模式
是否生成代理当一个bean实例化完成后,会判断该bean是否生成代理:AOP的入口,找到doCreateBean()方法所在类org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactorypublicabstractclassAbstractAutowireCapableBeanFactoryextendsA
- Java学习手册: IoC 容器与依赖注入
佩奇的技术笔记
Java学习手册java
一、IoC容器概述IoC(InversionofControl,控制反转)容器是Spring框架的核心组件之一。它负责创建对象、管理对象的生命周期以及对象之间的依赖关系。通过将对象的创建和管理交给IoC容器,开发者可以实现代码的松耦合,提高代码的可测试性和可维护性。二、Spring的IoC容器类型BeanFactory:这是SpringIoC容器的核心接口,提供了基本的IoC功能。它负责加载Bea
- Spring、Spring MVC 和 Spring Boot 的关系和区别
现在努力不知道来不来得及
springbootspringmvcspringboot
Spring、SpringMVC和SpringBoot是Java企业级应用开发中非常流行的框架,它们之间有着紧密的联系,但各自承担着不同的角色和职责。Spring框架概述:Spring是一个开源的Java平台,它简化了企业级应用的开发,提供了依赖注入(DI)、面向切面编程(AOP)等核心功能。Spring框架的核心容器部分提供了BeanFactory,这是Spring的IoC容器,负责管理应用中的
- java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
- Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
- 设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
- 读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
- js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
- erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
- JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
- POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
- 工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
- android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
- Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
- eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
- 【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
- Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
- bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
- 读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
- 常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
- 搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
- oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
- JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
- C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
- vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
- 14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
- 一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
- Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
- 第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
- Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
- 正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$