- 博客(57)
- 收藏
- 关注
转载 java设计模式--模板模式
目录 模板模式 适用场景 模仿JdbcTemplate的模板模式 优点 缺点 框架中常见的模板方法 模板模式通常又叫模板方法模式,定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现. 模板方法使得子类可以再不改变算...
2019-07-12 16:23:00 270
转载 java设计模式--适配器模式
目录 适配器模式 适用场景 适配器分类 简单案例 优点 Spring中的适配器 FAQ 适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本的接口不兼容的类可以一起工作,结构型设计模式.适用场景适...
2019-07-11 20:32:00 271
转载 Spring中获取被代理的对象
目录 Spring中获取被代理的对象 获取Spring被代理对象什么时候可能会用到? Spring中获取被代理的对象Spring中获取被代理的对象### 获取Spring被代理对象的JAVA工具类 Spring采用CGLIB或者JDK动态代理来实现AOP,那如...
2019-07-06 17:24:00 1944
转载 Cglib invoke为什么会死循环?
目录 Cglib invoke为什么会死循环? 动态代理子类的java文件 动态代理子类实例化过程 动态代理类调用过程 动态代理之MethodProxy.invokeSuper Cglib invoke为什么会死循环?案...
2019-07-05 20:50:00 993
转载 Maven json-lib依赖下载不下来解决方案
今天Maven添加依赖时候发现json lib这个包引入之后,死活出不来JSONObject这个类,打开Maven Project视图,发现json-lib这个包没下下来,以前也遇到过类似问题,都是网络原因没下载成功,反复了几次都没能下成功. 以前也遇到过类似问题,都是通过下载jar包 安装到本地仓库的方式解决的,下载json-lib的jar. 我都是在中央仓库...
2019-04-17 21:28:00 1242
转载 SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/l...
错误:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; 最近刚刚开始用SpringBoot做项目,之前项目跑得好好的,就启动不起来了,后来终于解决了这个错误,这种错误出现原因很多吧,我这只能算一种原因。 直接进...
2019-04-17 20:57:00 796
转载 SOAP报文转成JAVA对象
在今天以前我还没有用过代码解析过SOAP报文,更别提转成JAVA对象了,今天的任务中报文这个模样的,(为防止数据信息,以下数据我故意打乱了防止泄露什么信息.)<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soa...
2019-04-15 23:41:00 2254
转载 Tomcat他山之石.可以攻玉(一)Server组件
Server组件 Server组件作用:采用观察者模式,又叫源-收听者的设计模式,提供了可以动态添加、删除的监听器,作用是在Server组件的不同生命周期中完成不同的功能、逻辑; Tomcat容器的全局命名资源实现 提供关闭Tomcat方式(接收端口收到的SHUTDOWN命令). Server组件监听器 Server...
2019-04-14 21:55:00 230
转载 Tomcat:At least one JAR was scanned for TLDs yet contained no TLDs
启动Tomcat的时候,经常见到这样的BUG:14-Apr-2019 13:53:25.198 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable...
2019-04-14 14:26:00 371
转载 Tomcat8源码笔记(八)明白Tomcat怎么部署webapps下项目
以前没想过这么个问题:Tomcat怎么处理webapps下项目,并且我访问浏览器ip: port/项目名/请求路径,以SSM为例,Tomcat怎么就能将请求找到项目呢,项目还是个文件夹类型的? Tomcat部署webapps下项目方法位于:HostConfig#deployApps,别问怎么知道的,看源码,也可以支持看下我前面的博客,虽然介绍粗枝大叶,但是...
2019-04-14 11:58:00 1333
转载 Tomcat8源码笔记(九)组件StandardContext启动流程--未完待续
StandardContext代表的是webapps下项目,一个项目就是一个StandardContext,作为Tomcat组件的一部分,就会实现Lifecycle接口,被Tomcat管理着生命周期,本文从StandardContext的启动记录。 StandardContext从被创建起,就是直接进入start方法,Tomcat中组件的start会检测是否初始化过...
2019-04-14 11:55:00 271
转载 Tomcat8源码笔记(七)组件启动Server Service Engine Host启动
一.Tomcat启动的入口 Tomcat初始化简单流程前面博客介绍了一遍,组件除了StandardHost都有博客,欢迎大家指文中错误。Tomcat启动类是Bootstrap,而启动容器启动入口位于 Catalina 的start方法: 因为反射调用Bootstrap的Catalina实例的start方法.Catalina启动分为两个大阶段,一是启动Server...
2019-04-12 08:18:00 285
转载 Tomcat8源码笔记(六)连接器Connector分析
根据 Tomcat8源码笔记(五)组件Container分析 前文分析,StandardService的初始化重心由 StandardEngine转移到了Connector的初始化,本篇记录下Connector实例化到初始化的过程国际惯例这个词最近很常见,那国际惯例,我先放上Tomcat各个组件结构图:Connector地位,一个Service下可以有多个Connector,和...
2019-04-09 23:08:00 269
转载 Tomcat8源码笔记(五)组件Container分析
Tomcat8源码笔记(四)Server和Service初始化 介绍过Tomcat中Service的初始化 最先初始化就是Container,而Container初始化过程是咋样的? 说到Container的初始化,Tomcat8源码笔记(三)Catalina加载过程 这篇文章记录了Tomcat是怎样解析server.xml的流程,再此基础上,我们来分析Container的初始...
2019-04-08 22:56:00 160
转载 Tomcat8源码笔记(四)Server和Service初始化
上一章 简单说明下Tomcat各个组件:Server:服务器,Tomcat服务器,一个Tomcat只有一个Server组件;Service:业务层,是Server下最大的子容器,一个Server可以包含多个Service组件;Connector:连接器,Service的子容器,一个Service可以有多个Connector连接器,作用体现在对外,接收客户端请求,HTTP、...
2019-04-06 20:52:00 187
转载 Tomcat8源码笔记(三)Catalina加载过程
之前介绍过 Catalina加载过程是Bootstrap的load调用的 Tomcat8源码笔记(二)Bootstrap启动按照Catalina的load过程,大致如下: 接下来一步步分析加载过程一.initDirs从系统环境变量、VM参数中读取java.io.tmpdir, 并校验文件夹合法性; 未指定java.io.tmpdir,会抛出异常,所以我们启动...
2019-04-05 22:35:00 613
转载 Tomcat8源码笔记(二)Bootstrap启动
TOMCAT源码调试入口是Bootstrap类的main方法,我的启动参数VM:-Dcatalina.home=E:/Tomcat_Source_Code/apache-tomcat-8.0.53-src/catalina-home-Dcatalina.base=E:/Tomcat_Source_Code/apache-tomcat-8.0.53-src/catalina-hom...
2019-04-05 16:24:00 376
转载 Tomcat8源码笔记(一)Lifecycle接口
第一次阅读Tomcat8源码,就以Lifecycle作为笔记阅读的开篇吧,一千个读者就有一千个哈姆雷特,每个人都Tomcat的理解都不同,如果不记录一次Tomcat源码可能忘了就忘了. 断断DEBUG了几天,决定从Lifecycle开始记录.LifeCycle接口定义如下:个人理解:Lifecycle接口定义了生命周期描述的字符常量,初始化之前、初始化之后、启动、启动之前、...
2019-04-05 12:38:00 224
转载 java设计模式--合成模式
合成模式,又有叫 组合模式的 , 也有叫 部分-整体模式的,反正叫啥都好,总离不开 Composite 这个单词。图解设计模式一书中,将合成模式归纳在 “一致性”一栏,合成模式的设计意图是 能够使容器与内容具有一致性,再通俗点就是 保证调用单对象与组合对象的一致性。合成模式UML类图如上Component(抽象构件):抽象类或者接口,给出公共的行为;Lea...
2019-03-29 22:32:00 190
转载 详解@EnableWebMvc
最近看了《Spring in Action》的开头,就被Spring注解开发(完全不写web.xml)惊叹了,也第一次知道了@EnableWebMvc是SpringMVC的注解@EnableWebMvc注解@EnableWebMvc的javaDoc注释有点长。 从下图得到的几个信息:href="mailto:1.@EnableWebMvc">1.@EnableWebMv...
2019-03-29 22:30:00 1247
转载 ContextLoaderListener可以不写嘛?
写了那么久的Spring,经常写这样的配置,这就是几行Spring、SpringMvc的基本配置, 但是最近也看到不写最前面的context-param以及listener的,好奇记录下.<context-param> <param-name>contextConfigLocation</param-name> <param-va...
2019-03-28 18:35:00 688
转载 SpringMvc @ResponseBody字符串中文乱码原因及解决方案
今天突然发现一个问题,后来在网上也找到了很多解决思路,自己也查找到了问题所在,记录一下。 @RequestMapping(value = "/demo1") @ResponseBody public String demo1(){ return "我是中文测试"; }就是这样一个简单的方法,直接返回字符串, 但是在界面上就发...
2019-03-27 22:16:00 243
转载 Spring @RequestAttribute
@RequestAttribute注解用法@RequestAttribute用在方法入参上,作用:从request中取对应的值,至于request中是怎么存在该属性的,方式多种多样,拦截器中预存、ModelAttribute注解预存、请求转发带过来的;该注解出现自Spring4.3版本@Target(ElementType.PARAMETER)@Retention(Ret...
2019-03-27 22:12:00 990
转载 Spring @Pathvariable
先记录下@PathVariable的用法吧: @RequestMapping("/demo/{id}") @ResponseBody public User getUser(@PathVariable("id")Integer id, HttpServletRequest request){ System.out.println(request....
2019-03-27 22:07:00 293
转载 Spring @Valid
@Valid基本用法强烈推荐如果要学习@Valid JSR303, 建议看这里的API Bean Validation规范 !Controller控制器中在需要校验的实体类上添加 @Valid 即可使用JSR303校验(前提记得添加hibernate-validator相关jar,<mvc:annotation-driven/>);modelMap是为了将校验...
2019-03-27 21:55:00 2371
转载 Spring @ModelAttribute
正文开始之前,先介绍个东西,Spring能够自动将请求参数封装到对应JavaBean上!代码比较简单,也没有什么配置要记录,只是开启了<mvc:annotation-driven/>,可以看到达到了这样的效果:请求中属性name age 自动映射到 User对象上,返回视图时 属性又自动封装填充到 request属性域中. 填充的属性 键值key默认为类名首字母小...
2019-03-26 22:45:00 297
转载 Spring @ResponseStatus
@ResponseStatus这个注解确实是个令我头疼的注解. 先记录下@ResponseStatus注解的定义. 记录几个得到的信息:@ResponseStatus声明在方法、类上, Spring3.0开始才有的, 三个属性其中 HttpStatus类型的 value 和 code是一个含义, 默认值就是 服务器 500错误的 HttpStatus.用...
2019-03-26 20:49:00 222
转载 Spring ResponseEntity
简单记录下 ResponseEntity 的使用方式 @RequestMapping(value="/demo1" ) public ResponseEntity demo1(){// 使用方式一.// ResponseEntity responseEntity = new ResponseEntity(new User("lvbb...
2019-03-26 20:45:00 458
转载 Bean Validation规范
以下内容转载自:https://www.ibm.com/developerworks/cn/java/j-lo-beanvalid/Bean Validation规范介绍JSR303 规范(Bean Validation 规范)提供了对 Java EE 和 Java SE 中的 Java Bean 进行验证的方式。该规范主要使用注解的方式来实现对 Java Bean 的验证...
2019-03-26 18:37:00 2149
转载 SpringMvc @JsonView 使用方式
准确来说,@JsonView注解不是Spring的,它位于jackson-annotation包中; 作用:SpringMvc使用@ResponseBody将结果以json返回客户端, 有些实体类的某些字段可以不被包括在JSON中;思考了这种情况可能适用的情形:有多方调用这个接口,需要针对不同业务场景返回不同形式的JSON,但是这种情况的话 只拷贝需要的属性 再返回也能达到目的,就...
2019-03-21 22:23:00 272
转载 Spring 异常处理三种方式 @ExceptionHandler
异常处理方式一. @ExceptionHandler 异常处理方式二. 实现HandlerExceptionResolver接口异常处理方式三. @ControllerAdvice+@ExceptionHandler三种方式比较说明(强烈推荐各位看一下,我觉得自己总结的比较多,嘿嘿,不对之处请指出,点我快速前往!)问题描述: 假如对异常不进行处理?假如S...
2019-03-21 22:07:00 6079
转载 SpringMvc @ResponseBody
一.@Response使用条件二. @Response在最小配置、jackson的jar包情况下,json中包含的日期类型字段都是以时间戳long类型返回三. Jack序列化对象转为JSON的限制条件四. @ResponseBody如何工作的五. Spring偏底层记录.六.参考文章一. @Res...
2019-03-13 22:21:00 812
转载 Redhat6.8安装Oracle11g下遇到两个问题记录
问题一: 刚刚安装完毕Oracle之后,尝试sqlplus登陆报错,TNS:net service name is incorrectly specified参考文章:关于环境变量ORACLE_SID简单谈下说明:环境变量ORACLE_SID未设置正确,将环境变量ORACLE_SID设置为之前安装的数据库实例名即可;export只是当前会话环境变量生效,修改文件 .bash_...
2019-03-10 19:33:00 308
转载 Redhat6.8下安装Oracle11gR2
Step1.配置本地yum源,方便安装依赖包df -h 补充: df命令查看 linux系统磁盘空间以及使用情况,-h代表方便阅读方式显示 ;/dev/sr0为光驱设备名mkdir cdrommount /dev/sr0 /mnt/cdrom 补充: 将光驱挂在到 /mnt/cdrom下vim /etc/yum.repos.d/re...
2019-03-09 23:09:00 386
转载 VMware12 克隆虚拟机并且重新分配ip、mac
记录如何快速拷贝一台虚拟机,并且重新分配IP、mac等方便自己做实验;环境:VMWare12 、Redhat6.8Step1.克隆虚拟机 虚拟机处于未打开状态,右击管理—>克隆弹出克隆界面, 下一步(N) >选择虚拟机中的当前状态,下一步(N)>创建完整克隆 下一步(N)> (PS:这样就可以作为一台新...
2019-03-07 23:03:00 357
转载 SpringMvc @InitBinder
这篇博客记录@InitBinder怎么起作用、起什么作用? 首先,该注解被解析的时机,是该匹配Controller的请求执行映射的方法之前; 同时 @InitBinder标注的方法执行是多次的,一次请求来就执行一次。 当某个Controller上的第一次请求由SpringMvc前端控制器匹配到该Controller之后,根据Controller的 class 类型 查找 所有...
2019-03-06 23:20:00 356
转载 SpringMvc 请求中日期类型参数接收一二事儿
首先说明:以版本为Spring 4.3.0为测试对象; 开启<mvc:annotation-driven /> 测试场景一:请求中含有date属性,该类型为日期类型,SpringMvc采用@RequestParam来接受作为方法入参。 代码很简单,第一反应是不能将字符串的date属性赋给d; 先尝试输入当前日期 2019-02-21 2...
2019-02-23 21:27:00 341
转载 SpringMvc @RequestParam 使用推荐使用包装类型代替包装类型
SpringMvc 中@RequestParam注解使用 建议使用包装类型来代替基本数据类型 public String form2(@RequestParam(name="age") int age){ public String form2(@RequestParam(name="age") Integer age) {上述两种方式 这种情况下使用起来基...
2019-02-18 23:45:00 455
转载 java设计模式--Builder模式
一.Builder模式二.使用例子三.Spring中的Builder模式Builder模式,构建者、构造者模式,在《图解设计模式》中归为 生成实例 一栏,该模式用于组装具有复杂结构的实例; 当需要逐步获取对象的初始值时,可以使用Builder模式;一.Builder模式角色Builder:建造者,Builder角色负责定义用来生成实例的接口API...
2019-02-03 19:06:00 249
转载 SpringMvc RequestMappingHandlerMapping
RequestMappingHandlerMapping是SpringMvc中一个比较核心的类,查看下它的类结构图: InitializingBean是个很神奇的接口,在Spring每个容器的bean构造方法、属性设置之后,会先调用InitializingBean接口的afterPropertiesSet方法;RequestMappingHandler...
2019-02-01 11:01:00 360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人