自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BraveWangDev

有分享,才有进步;

  • 博客(16)
  • 资源 (29)
  • 收藏
  • 关注

原创 架构探险-第二章:为Web应用添加业务功能(9)-完善视图层

一,前言上篇以CustomerServlet为例,对控制器层进行完善通过依赖CustomerService,获取客户数据,放入请求属性,并重定向到customer.jsp这篇同样以customer.jsp为例,对齐进行完善,获取并展示数据二,完善视图层customer.jsp:<%@ page pageEncoding="UTF-8" %><%...

2018-05-31 16:53:56 397

原创 架构探险-第二章:为Web应用添加业务功能(8)-完善控制器层

一,前言经过了之前的一系列重构,终于完成了服务层的完善这一节继续对控制器层进行完善有了完善后的服务层,控制器层直接调用服务层就好了,非常简单二,完善控制器层参照: 架构探险-第二章:为Web应用添加业务功能(1)-设计和代码框架在创建代码框架时,根据需求创建了几个Servlet,并将其中的实现标记为TODO 以CustomerServlet为例:@WebS...

2018-05-31 14:13:43 547

原创 架构探险-第二章:为Web应用添加业务功能(8)-优化Junit单元测试

一,前言上一节补全了CustomerService的增删改查方法,执行Junit测试了方法的正确性 不过这里存在一个问题: 当执行完Junit测试,deleteCustomerTest的测试方法使id=1的数据被删除 导致下次执行Junit时测试数据就不存在了这一节将对Junit做进一步优化,以便适合于正式项目的开发和测试流程二,解决方法拷贝一个测试数据库...

2018-05-31 13:29:48 499

原创 Unsupported major.minor version 51.0问题解决

一,前言先贴出来问题截图:今天在为项目添加DBCP连接池的时候出现了这样一个问题很久之前出现过一次解决了,无奈脑子不好,百度了好多网上的解决方式多种多样:更换DBCP.jar包,删除JDK重新下载,升级IDE,设置编译版本...基本都试过了也没有用,这里解决的方法总结一下备注:本机JDK版本为1.8.0_51二,解决方法1,pom.xml<plug...

2018-05-29 18:28:31 922

原创 架构探险-第二章:为Web应用添加业务功能(7)-补齐Service方法

一,前言上一节,通过使用Apache DBCP数据库连接池对Connection进行管理数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中当用户需要访问数据库时,从连接池中取出一个已建立的空闲连接对象。使用完毕后,将连接放回连接池中,供下一个请求访问使用。连接的建立、断开都由连接池自身来管理。有效的避免了频繁创建数据库连接带来的大量系统开销问题至此,对于Service层...

2018-05-28 23:53:12 392

原创 架构探险-第二章:为Web应用添加业务功能(6)-优化服务层-数据库连接池

一.前言上一节对Service方法中获取和关闭数据库Connection对象的操作进行了提取,提取到DatabaseHelper中,使Service更加简单,实现了代码的重用目前需要考虑的一个问题:当前多次对Service的操作会频繁创建Connection数据库的连接数是有限的,频繁创建数据库连接会对数据库造成大量的系统开销因此,需要一种方案,实现对数据库的"池化",就是"数据库...

2018-05-25 10:02:57 309

原创 架构探险-第二章:为Web应用添加业务功能(5)-优化服务层-Connection的线程隔离

一前言上一节针对之前服务层存在的两个问题,对服务层进行了优化 1,提取DatabaeHelper类,便于多Service复用数据库相关操作的方法 2,使用DbUtils解决数据库查询时大量重复代码问题目前仍存在需优化的问题: 每次执行数据库操作时,都需要新创建一个Connection对象,操作完成后关闭 如何能将这部分操作从Service中移除,是Connec...

2018-05-24 17:17:13 360

原创 架构探险-第二章:为Web应用添加业务功能(4)-优化服务层-提取DatabaseHelper和使用DbUtils

一,前言通过上一节对服务层的优化: 提取数据库配置信息到外部properties配置文件 在Service中通过读取外部properties配置文件获取连接信息目前Service层还存在一些问题: 1)在CustomerService类中读取config.properties文件,是不合理的 开发中会存在多个Service,所以要将这些公共代码提取重来以便于复...

2018-05-24 16:25:46 442

原创 架构探险-第二章:为Web应用添加业务功能(3)-优化服务层-读取配置文件

一,前言由于这一章节较长,所以拆分为几个部分记录上一篇对服务层进行了完善:添加数据库连接配置,获得数据库连接实例,获取数据并测试这一篇对服务层进行优化,将写在Service类中的数据库连接配置信息抽取到配置文件二,优化服务层-抽取配置信息提取配置信息到properties配置文件为了让数据库信息可配置,将数据库信息放入到一个配置文件中在classpath下创建一个con...

2018-05-24 11:18:19 333

原创 WebStorm支持Vue配置

1,WebStorm安装Vue插件,使WebStorm拥有新建.vue文件功能: 安装完成后根据提示重启webstorm2,Preferences->Editor->File and Code Templates添加创建文件格式和模板点击右上角的加号 添加vue文件 Name为vue File, Extension 为vue,下面还可以自定义.vue文件生成时的初始化模...

2018-05-23 15:42:55 4175

原创 架构探险-第二章:为Web应用添加业务功能(2)-完善服务层-优化前

一,前言由于这一章节较长,所以拆分为几个部分记录上一篇搭建了一个"客户管理"模块的代码框架,并对主要逻辑部分标记TODO这一篇将TODO部分的细节进行完善分别完善:服务层,控制器层,视图层二,完善服务层1,添加SLF4J依赖为了在服务层记录日志,在pom.xml中添加SLF4J依赖SLF4J提供日志API,使用Log4J作为实现<!-- SLF4J -...

2018-05-23 02:08:20 365

原创 架构探险-第二章:为Web应用添加业务功能(1)-设计和代码框架

一,前言由于第二章比较长,且涉及到逐步演进的过程所以将第二章拆分为多节进行记录这一节主要针对项目的需求分析可框架搭建二,需求分析进入"客户管理"模块,列表查看所有客户可通过"客户名称"进行模糊查询列表中,点击"客户名称"链接,查看客户基本信息"新增"按钮,进入&q

2018-05-22 16:58:55 391

原创 IOS开发实战:UISegmentedControl分段控制器

一,创建UISegmentedControl分段控制器项目UISegmentedControl 用于管理和实现一组内容的切换逻辑,常用于导航栏的标题视图中1,打开Xcode,创建名为 UISegmentedControl 的工程 如何创建工程:Xcode创建HelloWorld项目2,在ViewController.m的viewDidLoad方法中添加如下代码:- (voi...

2018-05-15 11:09:55 1237

原创 IOS开发实战:UIPageControl分页控制器

一,创建UIPageControl分页控制器项目UIPageControl:分页控制器,用于页码管理的UI控件,如新手引导页,广告轮播页等1,打开Xcode,创建名为UIPageControl的工程 如何创建工程:Xcode创建HelloWorld项目2,在ViewController.m的viewDidLoad方法中添加如下代码:- (void)viewDidLoad {...

2018-05-14 15:07:08 765

原创 IOS开发实战:UISwitch开关控件

一,创建UISwitch开关控件项目1,打开Xcode,创建名为UISwitch的工程 如何创建工程:Xcode创建HelloWorld项目2,在ViewController.m的viewDidLoad方法中添加如下代码:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup a...

2018-05-11 10:59:24 7126

原创 IOS开发实战:UITextField文本输入框控件

一,创建UITextField文本输入框项目1,打开Xcode,创建名为UITextField的工程 如何创建工程:Xcode创建HelloWorld项目2,在ViewController.m的viewDidLoad方法中添加如下代码:- (void)viewDidLoad { [super viewDidLoad]; // 初始化UITextField,并规定一...

2018-05-10 11:31:51 6785

【手写 Vue2.x 源码】第十篇 - 数组数据变化的观测情况

文章:【手写 Vue2.x 源码】第十篇 - 数组数据变化的观测情况 链接:https://brave.blog.csdn.net/article/details/128601406 内容:第十篇 - 数组数据变化的观测情况; 实现了数组数据变化被劫持后,已重写原型方法的具体逻辑; 数组各种数据变化时的观测情况分析;至此,数据劫持就全部完成了

2023-01-12

【手写 Vue2.x 源码】第九篇 - 对象数据变化的观测情况

文章:【手写 Vue2.x 源码】第九篇 - 对象数据变化的观测情况 链接:https://blog.csdn.net/ABAP_Brave/article/details/128588578 内容:本篇,主要介绍了数组数据变化的观测情况: 实现了对象老属性值变更为对象、数组时的深层观测处理; 结合实现原理,说明了对象新增属性不能被观测到的原因,以及如何实现对象新增属性的数据观测;

2023-01-11

【手写 Vue2.x 源码】第八篇 - 数组的深层劫持

文章:【手写 Vue2.x 源码】第八篇 - 数组的深层劫持 链接:https://brave.blog.csdn.net/article/details/128588563 内容:本篇,介绍了数组的深层观测实现,核心几个点如下: - 在之前对数组类型的处理中,仅对当前数组进行了部分原型方法重写操作,当通过变异方法操作数组时,相当于实现了数组的单层数据劫持能力; - 通过`observeArray`方法继续处理数组类型,对数组中每一项调用`observe`进行递归观测,实现了数组中嵌套结构的劫持:数组嵌套数组、数组嵌套对象; 注意:在 `observe`方法仅处理了对象类型,所以数组中的值类型是不会被观测的;

2023-01-11

【手写 Vue2.x 源码】第六篇 - 数据代理的实现

文章:【手写 Vue2.x 源码】第六篇 - 数据代理的实现 链接:https://blog.csdn.net/ABAP_Brave/article/details/128575652 内容:第六篇 - 数据代理的实现;将 data 暴露到 vm._data 实例属性上;利用 Object.defineProperty 将 vm.xxx 操作代理到 vm._data 上;首先,先做一次代理,将`data`挂载到 `vm._data`下,这样 vm 实例就能够在外部通过`vm._data.message`获取到`data.message`;之后,再做一次代理,将`vm`实例操作`vm.message`代理到`vm._data`上,这样,外部就可以直接通过`vm.message`获取到`data.message`;

2023-01-10

【手写 Vue2.x 源码】第五篇 - 数组的劫持

文章:【手写 Vue2.x 源码】第五篇 - 数组的劫持 链接:、https://blog.csdn.net/ABAP_Brave/article/details/128566890 内容:本篇主要介绍了 Vue 数据初始化流程中,数组类型的数据劫持,核心有以下几点: 出于对性能的考虑,Vue 没有对数组类型的数据使用 Object.defineProperty 进行递归劫持,而是通过对能够导致原数组变化的 7 个方法进行拦截和重写实现了数据劫持;

2023-01-09

【手写 Vue2.x 源码】第四篇 - 对象的深层劫持

文章:【手写 Vue2.x 源码】第四篇 - 对象的深层劫持 链接:https://blog.csdn.net/ABAP_Brave/article/details/128566839 内容:对象深层劫持的实现 1. 通过`data = isFunction(data) ? data.call(vm) : data;`处理后的 data 一定是对象类型; 2. 通过`data = observe(data)`处理后的 data 就实现了数据的响应式(目前只有劫持) 3. observe 方法最终会返回一个 Observer 类 4. Observer 类初始化时,通过 walk 遍历属性 5. 对每一个属性进行 defineReactive(Object.defineProperty)实现对象属性的单层数据劫持 6. 在 defineReactive 中调用 observe,如果当前属性的值为对象类型,继续对当前对象属性进行观测(即递归执行步骤 3~5),实现对象属性的深层数据劫持

2023-01-08

【手写 Vue2.x 源码】第三篇 - 对象的单层劫持

文章:【手写 Vue2.x 源码】第三篇 - 对象的单层劫持 链接:https://blog.csdn.net/ABAP_Brave/article/details/128555287 内容:第三篇 - 对象的单层劫持;本篇主要介绍了 Vue 数据初始化流程中,对象属性的单层劫持,核心处理: 1,data 为函数或对象两种类型的处理; 2,处理 data 函数中 this 的指向问题; 3,Observer 类,对数据进行观测;walk 方法,遍历 data 属性; 4,defineReactive 方法:利用 Object.defineProperty 实现数据劫持(单层劫持);

2023-01-08

【手写 Vue2.x 源码】第二篇 - Vue 的初始化流程

文章:【手写 Vue2.x 源码】第二篇 - Vue 的初始化流程 链接:https://blog.csdn.net/ABAP_Brave/article/details/128555243 内容:第二篇 - Vue 的初始化流程;本篇主要介绍了 Vue 数据的初始化流程,核心点: 1,加载 Vue 时,通过 initMixin 方法,在 Vue 原型上扩展 _init 方法; 2,执行 new Vue 时,调用 Vue 原型方法 _init,暴露 options 选项、执行状态初始化和挂载流程; 3,initState 状态初始化:对状态的多种来源进行统一的初始化处理;

2023-01-07

【手写 Vue2.x 源码】第一篇 - 使用 rollup 构建 Vue 环境

文章:【手写 Vue2.x 源码】第一篇 - 使用 rollup 构建 Vue 环境 链接:https://blog.csdn.net/ABAP_Brave/article/details/128538161 内容:第一篇-使用 rollup 构建 Vue 环境: 工程初始化、安装依赖、创建入口、配置 Rollup 、构建脚本、Vue 打包构建,vue 使用测试;

2023-01-07

vue-framework-admin-0.0.14.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/102464029

2019-10-17

vue-framework-admin-0.0.13.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/102338689

2019-10-08

vue-framework-admin-0.0.12.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/102092006

2019-10-08

vue-framework-admin-0.0.11.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/99623934

2019-08-23

vue-framework-admin-0.0.10.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/99299824

2019-08-13

vue-framework-admin-0.0.9.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/99286537

2019-08-12

vue-framework-admin-0.0.8.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/99065313

2019-08-10

vue-framework-admin-0.0.7.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98942173

2019-08-09

vue-framework-admin-0.0.6.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98939127

2019-08-09

vue-framework-admin-0.0.5.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98884675

2019-08-08

vue-framework-admin-0.0.4.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98875481

2019-08-08

vue-framework-admin-0.0.3.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98871858

2019-08-08

vue-framework-admin-0.0.2.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98847046

2019-08-08

vue-framework-admin-0.0.1.zip

一步一步实现中后台管理平台模板-基于Vue-cli3+Ant-Design-Vue,参考博文:https://blog.csdn.net/ABAP_Brave/article/details/98618939

2019-08-06

webpack实例代码

博客中webpack实例的代码,已删除node_module文件夹,专栏地址:https://blog.csdn.net/column/details/25661.html

2018-08-02

ActiveMQ-Topic订阅发布模式Demo

ActiveMQ-Topic订阅发布模式:参考博文:http://blog.csdn.net/ABAP_Brave/article/details/71211334

2017-05-05

ActiveMQ-Queue点对点消息-Receive+Listener方式

ActiveMQ-Queues点对点消息-Receive+Listener方式:参考博文:http://blog.csdn.net/ABAP_Brave/article/details/53443725

2016-12-03

SpringBoot-SpringData-懒加载

SpringBoot-SpringData-懒加载,博文地址:http://blog.csdn.net/ABAP_Brave/article/details/53035313

2016-11-04

SpringBoot-SpringSecurity集成

SpringBoot-SpringSecurity集成,博文地址:http://blog.csdn.net/ABAP_Brave/article/details/53032694

2016-11-04

SpringBoot-thymeleaf模板集成

SpringBoot-thymeleaf模板集成,博文地址:http://blog.csdn.net/ABAP_Brave/article/details/53005794

2016-11-02

SpringBoot-SpringData-多数据源

SpringData多数据源实现,博文地址:http://blog.csdn.net/ABAP_Brave/article/details/52980885

2016-10-31

SpringBoot-SpringData-ManyToOne

SpringBoot-SpringData-ManyToOne,博文地址:http://blog.csdn.net/ABAP_Brave/article/details/52850062

2016-10-18

SpringBoot-SpringData-ManyToMany

SpringBoot-SpringData-ManyToMany,博文:http://blog.csdn.net/ABAP_Brave/article/details/52849827

2016-10-18

SpringBoot-SpringData-oneToOne

SpringBoot-SpringData-oneToOne,博文:http://blog.csdn.net/ABAP_Brave/article/details/52845986

2016-10-18

SpringBoot-SpringData-jpa集成

博文地址:http://blog.csdn.net/abap_brave/article/details/52804782

2016-10-13

SpringBoot-Junit

SpringBoot-Junit代码,包含各种测试Demo

2016-10-11

SpringBoot简单工程

SpringBoot简单项目,创建过程:http://blog.csdn.net/ABAP_Brave/article/details/52770743

2016-10-09

ST LINK驱动+升级

ST LINK驱动+升级

2016-08-19

CH340驱动及问题解决

CH340驱动

2016-08-19

空空如也

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

TA关注的人

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