自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 AOP源码分析三:pointcut的配置说明

aop配置中有如下一行:<aop:pointcut expression="execution(* com.aop.service..*(..))"其中expression="execution(* com.aop.service..*(..))"的配置规则如下:execution(modifiers-pattern? ret-type-pattern declaring-...

2019-09-02 18:08:00 678

原创 AOP源码分析二:创建AOP代理

aop代理的创建时在初始化bean之后,先来看下bean初始化方法:initializeBeanAbstractAutowireCapableBeanFactory的initializeBean方法进行初始化://初始容器创建的Bean实例对象,为其添加BeanPostProcessor后置处理器 protected Object initializeBean(final String...

2019-09-02 18:07:56 206

原创 AOP源码分析一:xml文件解析

AOP的xml文件配置如下:<aop:aspectj-autoproxy proxy-target-class="true"/><bean id="xmlAspect" class="com.aop.aspect.XmlAspect"></bean> <!-- AOP 配置 --> <aop:config> ...

2019-09-02 18:07:50 253

原创 Spring的IOC容器初始化源码分析四:载入注解Bean

refresh方法中,调用注解解析bean的loadBeanDefinitions方法如下:public class AnnotationConfigWebApplicationContext extends AbstractRefreshableWebApplicationContext implements AnnotationConfigRegistry //载入注解Bean...

2019-09-02 14:33:02 377

原创 Spring的IOC容器初始化源码分析三:refresh(02)

3. prepareBeanFactory(beanFactory); //为BeanFactory配置容器特性,例如类加载器、事件处理器等 // 对beanFactory做一些设置,例如类加载器、SPEL解析器、指定bean的某些类型的成员变量对应某些对象. protected void prepareBeanFactory(ConfigurableListableBeanFac...

2019-08-09 17:15:42 138

原创 Spring的IOC容器初始化源码分析三:refresh(03)

11.finishBeanFactoryInitializationfinishBeanFactoryInitialization方法做了两件事: 1.beanFactory对象的初始化; 2.bean配置文件中配置的那些单例的bean,都是在finishBeanFactoryInitialization方法中实例化的; //对配置了lazy-init属性的Bean进行预实例化处理 p...

2019-08-09 17:08:10 172

原创 Spring的IOC容器初始化源码分析三:refresh(01)

SpringIOC 容器对 Bean 定义资源的载入是从 refresh()函数开始的,refresh()是一个模板方法, refresh()方法的作用是:在创建 IOC 容器前,如果已经有容器存在,则需要把已有的容器销毁和关闭, 以保证在 refresh 之后使用的是新建立起来的 IOC 容器。refresh 的作用类似于对 IOC 容器的重启, 在新建立好的容器中对容器进行初始化,对 Bean...

2019-08-09 17:07:29 245

原创 Spring的IOC容器初始化源码分析二:setConfigLocations

设置本地的配置信息,创建环境对象ConfigurableEnvironment 、处理ClassPathXmlApplicationContext传入的字符串中的占位符; setConfigLocations(configLocations);包:package org.springframework.context.support;类:AbstractRefres...

2019-08-09 16:56:24 168

原创 Spring的IOC容器初始化源码分析一:super(parent)

IOC 容器的初始化包括 BeanDefinition 的 Resource 定位、载入和注册这三个基本的过程。以 ApplicationContext 为例讲解,ApplicationContext 系列容器也许是我们最熟悉的,因为 Web 项 目 中 使 用 的XmlWebApplicationContext 就 属 于 这 个 继 承 体 系 , 还 有 ClasspathXmlApp...

2019-08-09 16:53:17 422

原创 SpringMVC源码解析三:RequestParamMethodArgumentResolver

supportsParameter(parameter)这里有一个常用的解析器: RequestParamMethodArgumentResolver类中:主要用来解析@RequestParam注解的参数public boolean supportsParameter(MethodParameter parameter) { if (parameter.hasParam...

2019-08-09 16:21:33 1101

原创 SpringMVC源码解析二:请求处理过程5

// 5.结果视图对象的处理applyDefaultViewName(processedRequest, mv);mappedHandler.applyPostHandle(processedRequest, response, mv);processDispatchResult(processedRequest, response, mappedHandler, mv, dispatch...

2019-08-09 09:30:50 291

原创 linux基本命令(五)

rm 删除命令语法rm [options] name...参数:-i 删除前逐一询问确认。 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 -r 将目录及以下之档案亦逐一删除。实例删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:删库跑路大法宝:rm -rf *删除当前目录下的所有文件及目录,命令行为:rm -r *...

2019-08-08 18:20:10 168

原创 SpringMVC源码解析二:请求处理过程1

DispatcherServlet继承了FrameworkServlet,请求首先进入FrameworkServlet的service方法:FrameworkServlet类中:protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException...

2019-08-08 18:11:03 131

原创 SpringMVC源码解析二:请求处理过程4

第四步的处理过程:// 4.实际的处理器处理请求,返回结果视图对象mv = ha.handle(processedRequest, response, mappedHandler.getHandler());ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object hand...

2019-08-08 18:09:15 248

原创 SpringMVC源码解析二:请求处理过程3

第三步的处理过程: //3. 获取处理request的处理器适配器handler adapter HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());getHandlerAdapter方法: protected HandlerAdapter getHandlerAdapter(Object h...

2019-08-08 18:04:08 145

原创 SpringMVC源码解析二:请求处理过程2

第2步处理方法://遍历所有的映射器,直到找到能够配对该请求的一个映射器, // 在映射器内部配对到对应的Handler,最终生成HandlerExecutionChain对象并返回 protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception { if (this.ha...

2019-08-08 18:03:01 385

原创 SpringMVC源码解析一:DispatcherServlet容器初始化

1.初始化过程:DispatcherServlet extends FrameworkServlet FrameworkServlet extends HttpServletBean implements ApplicationContextAwareHttpServletBean extends HttpServlet implements EnvironmentCapable, E...

2019-08-07 11:51:50 173

原创 SpringMVC源码解析一:HandlerMapping初始化

initHandlerMappings()方法初始化有两种方式:1.setApplicationContext()2.afterPropertiesSet()1.setApplicationContext()实现方式如下:首先进入DispatcherServlet 类中,可以看到DispatcherServlet 的继承关系:DispatcherServlet ex...

2019-08-06 15:23:01 332

原创 java代码实现tar包文件解压

使用commons-compress-1.9.jar进行解压 ,通过重写UnTar方法把源路径与目标路径转为文件,通过TarArchiveInputStream读入目标文件流,然后解压到目的地址。TarArchiveInputStream使用实例地址如下:https://www.programcreek.com/java-api-examples/?class=org.apache.com...

2019-01-23 20:03:44 4670

原创 java代码实现多文件tar包压缩且压缩文件能放到linux服务器上正常解压

 java代码实现tar包压缩文件的代码在网上能找到很多,但是要不就是压缩之后的文件会有空文件夹在压缩包中,要不就是压缩之后的文件在Linux服务器上解压出现问题,产生这个问题的主要原因是文件的目录分隔符没有设置正确,如果我们想让压缩之后的文件能在Linux服务器上正常解压,该怎么做呢?首先我们要用File.separator代替“/”;(Windows和Linux目录分隔符的表示方法一个是“...

2019-01-17 16:19:21 2339

原创 linux基本命令(四)

cp  复制和移动文件cp: copycp SRC DEST    -r  复制目录及其目录下的文件,递归复制    -i    如果目标存在,提示要不要覆盖,普通用户不提示,直接覆盖。    -f    强行复制,如果目标存在,直接覆盖。目标文件不能打开,先删除,在重试。    -p    保留属主,属组,权限,时间戳。    -a:归档复制,常用于备份       cp f...

2019-01-16 20:16:05 144

原创 linux基本命令(三)

文本编辑命令touch  创建文件mkdir创建文件夹-p 确保目录名称存在,不存在的就建一个。cat  打印文件内容到屏幕每一行都代表一个用户,每一行通过[:]分为七个部分。           1、账号名称  2、原先用来保存密码的,现在密码都放在/etc/shadow中,所以这里显示x  3、UID,也就是使用者ID。默认的系统管理员的UID为0,我们添加用...

2019-01-15 20:17:09 2972 11

原创 linux基本命令(二)

常用系统命令 echo  打印内容输出到屏幕 date   输出日期ps  Process Status缩写  进程状态查看ps -ef|grep  tomcat  |管道符。把前面的值传入到后面top   查看CPU等命令(摘抄自Linux就该这么学)ifocnfig  网卡信息uname -a  查看Linux系统版本cat /proc/v...

2019-01-14 19:27:06 163

原创 linux基本命令(一)

Linux 首页面登录如图所示:[root@sgg ~]# root:登录用户名sgg: 主机名~   :索引目录,当前所在的目录# :代表超级用户(root)$ :普通用户[登录用户@主机名 索引目录(~家目录,当前所在的目录)]#号代表超级用户,$普通用户其中主机名可在 /etc/hosts  文件中修改:使用root用户登录机器,vi  /etc/h...

2019-01-10 20:39:32 224

原创 VMware安装centos连接Xshell(二)

Xshell连接虚拟机1.设置网卡信息网卡信息在 /etc/sysconfig/network-script/ifcfg-ens33 vi  /etc/sysconfig/network-script/ifcfg-ens33 设置网卡等信息ifcfg-ens33存放网卡信息,这个文件名可能每个机器不一样,但是具体的路径是在/etc/sysconfig/network-script/...

2019-01-05 14:25:12 248

原创 一、VMware安装centos连接Xshell(一)

下载安装VMware       VMware官网地址:https://www.vmware.com,进入首页-&gt;点击download:选择下载版本:下载完成后,默认安装即可,其中安装的路径可自己选择,许可证秘钥可以上网搜索。下载需要的liunx系统ISO镜像,此处选择的是centos镜像,centos官网地址:https://www.centos.org 点击...

2019-01-05 13:06:58 301

各类liunx命令

命令行整理,各种实用命令,打包,解包,创建用户,以及目录

2018-08-16

空空如也

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

TA关注的人

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