自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring AOP实现事务管理

事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Sping中的事务管理,其实就是对数据库的事务进行管理(提交、回滚)。在Spring框架中最常用的就是声明式配置事务,而声明式配置可以基于xml进行配置,也可以基于注解进行配置。一、 基于注解的配置,顾名思义,既然基于注解来配置,就必不可少注解,Spring框架中提供了@Transactional注解,该注解主...

2019-07-06 17:25:06 3824 3

原创 Java动态调用链接库dll文件

因为项目需要,用到了java调用dll文件中的方法。写成dll文件大多是用C语言弄成的,对于我这个纯粹干java的人员来说,着实让我太为难了。唉,也就是说我编程底子没有搭好,惭愧。要是这些语言我都会些,也不至少让我了解并应用这个技术花了很长时间。如果调用的dll是32位的,JDK版本也要32位才能调用,也就是说32位的JDK只能调用32位的dll文件,64位的JDK只能调用64位的dll文件。下面说一下在Java Web项目中如何调用dll文件,Java调用外部dll文件主要是JNative开源框架技术。

2020-08-09 19:50:55 276

原创 Android如何自定义加载框

在Android应用中,经常会用到网络传输,不可避免的是,在传输过程中会受网络的影响,在等待服务器的响应的时候,用户体验就至关重要了,所以应该在等待的过程中,给应用加上一个加载框,这样用户体验就大大提升。那么该如何实现自定义的加载框呢?第一步,准备好加载动画的素材,然后创建progress_loading.xml文件,代码与效果如下<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http

2020-06-08 17:38:33 392

原创 Android自定义Dialog

在平时我们在使用手机App的时候,经常会在一些界面中看到各种各样的弹窗,那么这种弹窗是怎样实现的呢?在AndroidSDK中,也提供了一些弹窗来给开发人员直接使用,但是对于一些自定义的弹窗,Android SDK并不满足项目的需求,但是SDK提供了一些实现弹窗的父类,在这里讨论的是DialogFragment类。该类是Android官方所提供的弹窗模板,可以快速的实现自定义弹窗。那么该如何去实现一个自定义弹窗呢?第一步,在项目的res->layout目录中创建弹窗的内容页面dialog_custom

2020-05-18 09:22:42 214

原创 流式布局的RadioGroup

RadioGroup在Android中是个重要的组件,常用于选择信息,但是对于一些RadioGroup的布局并不满足实际开发项目的需求,例如,当我们使用RadioGroup时,如果文字信息过长的时候,该RadioButtom不会完整的展示出来,这个时候我们就需要对RadioGroup重新处理,当信息过多的时候自动换行显示,也就是流式布局的RadioGroup,那么如何实现该效果?第一步,新建一个View视图,然后继承RadioGroup,继承该类是为了更好的拥有该类的属性和方法。第二步,重写onMea

2020-05-18 09:19:25 302

原创 RecyclerView拖动和移除的支持

RecyclerView在Android是常用的列表视图之一,提供的功能也非常强大,一般都会满足开发者的需求,但是对于一些列表拖动、移除等功能,还是要开发者手动的处理一些才能实现,下面是对于RecyclerView拖拽和移除功能的实现步骤:第一步,首先创建RecycleItemTouchHelper类,如何继承ItemTouchHelper.Callback接口。第二步,定义对外开发的接口,让实现类来实现接口的方法,也就是说让实现类来实现拖动和移除的功能:第三步,实现ItemTouchHelper

2020-05-18 09:14:59 194

原创 vue实现简单loading组件

在vue项目中,一般在请求后台接口时,都有时间消耗,尤其是对web项目,更有网络时间消耗,这个时候请求响应数据可能有所影响,对用户的体验不是很好,所以常常会使用 loading 过渡数据的加载时间来提高用户体验。那么在vue项目中是如何实现自定义的loading组件的呢?既然是自定义loading组件,所以需要加载图标动画使用的图片是可以在 Build Yourself a Right GIF ...

2019-08-17 21:14:01 580

原创 axios的封装

在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json等。所以我们在vue项目中请求后台获取数据一般都是用axios,但是直接操作axios会比较繁琐,所有一般会封装好axios使用。那么该如何使用封装好axios呢?首先,在vue项目中使用以下...

2019-08-17 21:09:16 147

原创 Vue路由router之间传值

在Vue框架中,要实现显示不同的页面,首先要配置路由, vue-router路由的原理是通过改变网址,来实现页面的局部刷新,相比a标签跳转的不同之处在于,路由跳转不需要刷新整个页面。这里主要讲述的是在Vue路由如何传递参数,相关路由配置这里不配置了,而在Vue框架中最常用的两种传值方法:query方式和params方式。通过query方式传递参数:query方式是通过path:/blogD...

2019-08-05 15:11:14 199

原创 Vue父子组件之间传值问题

在Vue框架中,最大的特点就是组件化,也就是说组件调用组件,而这两个组件又有联系,所以难免出现父子组件的传值问题。在Vue项目中,父子组件传值的出现频率会比较高。父子组件传值分为:父组件向子组件传值和子组件向父组件传值这两种情况。1. 父组件向子组件传值:父组件要向子组件传值,首先把要传递的值绑定到子组件中,这里绑定的是activeName值。在子组件中用props接收父组件传递过来的...

2019-08-05 10:21:48 203

原创 Vue跨域问题

在解决Vue跨域问题前,首先要了解什么叫跨域?跨域是指浏览器不允许当前页面的所在的源去请求另一个源的数据。源指协议,端口,域名。只要这个3个中有一个不同就是跨域。 这里列举一个经典的列子:其实,在项目开发过程中,尤其在一些前后端分离的项目中,那么经常会和跨域打交道。这里主要以Vue框架为例,Vue是一个前端框架,那么对于一些跨域请求后台问题也有自己处理的方法。目前自己开发的是Vue项目,所以...

2019-08-05 08:59:25 146

原创 mybatis批处理数据

对于一些批量数据的处理,例如批量导入数据到数据库或者批量删除的需求,可能首先会想到会在业务层那里使用for循环处理数据,这种查询方式虽然可行,但每执行一次循环语句,都需要向数据库中发送一条查询SOL,频繁的操作数据库,会大大消耗资源,效率非常的慢。对于这些问题处理,应该考虑如何一次性的把所有数据全操作完,而不是用for循环的频繁操作数据库,那么该如何解决呢?那就是用JDBC所提供的批处理的方式来...

2019-07-16 09:35:14 165

原创 mybatis新增返回主键

在一些管理系统项目中,对于一些特殊的业务必须要进行返回主键id,那么在mybatis框架中是如何返回主键id的呢?mybatis提供了不少操作sql语句的标签,其中包括了新增的标签,其返回与主键相关属性也是该标签提供的,与返回主键相关的属性如下:属性描述keyProperty(仅对insert和update有用)此属性的作用是将插入或更新操作时的返回值赋值给PO类的某个属性...

2019-07-16 08:32:07 623

原创 mybatis关联查询

在实际的开发中,对数据库的操作常常会涉及多张表,这在面向对象中就涉及了对象与对象之间的关联关系。 针对多表之间的操作, MyBatis提供了关联映射,通过关联映射就可以很好地处理对象与对象之间的关联关系。在MyBatis 在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。 嵌套查询是指通过执行另外一条SQL映射语句来返回预期的复杂类型;嵌套结果是使用嵌套结果映射来处理重复的联合结果...

2019-07-15 19:59:04 139

原创 mybatis延迟加载

对于一些数据比较庞大的web管理系统中,如果是一次性的把所有数据查询出来,必然会给数据库带来压力,可能会导致数据库崩溃,这个时候就不得不优化该系统了,针对这些问题的处理方法,最为常见的是缓存或者其他方法,在这里要讲述的是mybatis的延迟加载,虽然这个方法不能从根本上解决问题,但是对于也可以达到优化系统的效果。那么,什么叫延迟加载呢?延迟加载通俗来说就是首次查询只查询主要信息,关联信息等用户获...

2019-07-15 16:08:28 110

原创 基于mapper代理与Spring整合

在mybatis与spring整合中,用原始Dao的方法来开发非常繁琐,要创建相关的接口和实现类,其中也要在每个实现类中注入sqlSessionFactory对象,这样会使项目的代码冗余,所以在与Spring项目整合中一般就不会再用原始Dao的方式来开发了,那么,在该用什么方式与spring整合呢?这里主要是基于mapper代理接口开发与Spring整合,其中与基于mapper代理接口开发的方式有...

2019-07-15 14:50:03 173

原创 mybatis逆向工程

在实际项目中,对于一些单表操作的sql语句,如果有比较多的单表操作,每一个单表都要编写相关的sql语句,给开发人员带来的工作量非常庞大,开发效率非常低。对于一些没有关联其他表的单表操作,该如何自动生成代码呢?其实,实现这个效果有很多方法,但是在mybatis框架也提供了自动生成代码工具,那就是mybatis的逆向工程,这个工程可以有效的提高开发效率,因为该工程会生成单表的mapper映射文件和po...

2019-07-15 09:26:20 180 2

原创 mybatis基于PageHelper插件实现分页

Mybatis是一个持久层,主要是操作sql语句的。项目数据的来源一般都是数据库,如果数据是十分庞大的,一下子把所有数据查询出来,会给数据库带来压力,所以不得不实现分页查询来降低数据库的压力。其实,实现在mybaits中实现分页,就是对sql查询语句的操作,显示想要显示的数据,十分简单。在JDBC中实现分页,首先要查询要分页数据的总数,然后再通过传递分页开始的索引和结束的索引(或者要显示的条数)这...

2019-07-15 08:14:13 124

原创 mybatis实现模糊查询

在项目管理系统中,模糊查询数据最为常见,mybatis模糊查询的实现也非常简单,只需要在映射文件中通过元素编写相应的SQL语句,并通过SqlSession的查询方法执行该SQL即可。 Mybaits实现模糊查询方法也有多种多样,下面总结了实现几种不同的方法,其具体实现方法如下。通过字符串拼接符拼接在映射文件Permsisson.xml中,添加根据权限名模糊查询权限信息列表的SQL语句,其中用了...

2019-07-14 20:40:20 275

原创 Spring MVC自定义异常

在一些Web管理系统项目中,自定义异常最为常见,为什么要自定义异常呢?主要还是为了统一所有异常,例如:如何用户在用该系统时,突然发生异常或者错误,用户是看不明白的,所以要友好地提示用户。要解决这个问题可以用Spring MVC框架提供的接口来实现自定义异常。首先,创建一个自定义异常类,该类继承异常类public class CustomException extends Exception...

2019-07-06 19:57:29 123

原创 Spring AOP实现日志管理

在一些Web管理系统项目中,日志管理功能也常见,管理系统中日志主要是记录一些谁操作了什么东西,系统是否有异常等信息。那么如何在编程中实现呢?在Java面对对象语言中要实现日志管理功能时,是比较麻烦的。在此,引入了Spring框架中的AOP思想,AOP的主要作用是可以横向插入可重复代码(日志管理),在面向对象语言中是无法做到的,它是面向对象的一种延伸。而AspectJ是AOP的一个纯Java框架,而...

2019-07-06 17:06:01 456

原创 Spring Mvc 数据校验

在Web项目中对要请求的参数数据的校验多数在客户端进行,这也是出于简单及用户体验性能上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的,那么该如何在服务端校验数据呢?在 springmvc框架中可以在控制层进行数据校验,当然springmvc框架中是用Hibernate Validator的校验框架,下面主要是如何把springmvc与validator整合起来,对Java Bean ...

2019-06-27 19:50:26 93

原创 MyBatis二级缓存与ehcache整合

mybatis是一个持久层框架,该框架的强大之处就是操作sql语句和映射,也提供了缓存的功能,对查询数据库的结果存储到内存中去,需要是从内存中提取出来,节省了查询数据库的时间,大大提高了性能。其中mybatis提供了一级缓存和二级缓存两种方式,由于一级缓存在mybatis中是默认开启的,所以这里主要说二级缓存的开启方式。在mybatis核心配置文件mybatis-config.xml中配置以下...

2019-06-27 19:46:13 111

原创 Spring与Redis整合

在实际项目开发中,随着项目的需求或者用户访问量的增大,这时不得不考虑项目性能问题。其中,优化性能的方式有很多方面,从缓存方法入手,在项目中最为常见的一种方式。那么,缓存是个什么东西呢?在管理系统来看,缓存主要是对数据库查出来的数据进行保存到内存中,然后下次需要的时,直接从内存中获取出来,不需要再进行查询数据库的操作,从而节省从数据库查询数据的时间,达到优化性能效果。那么,该如何实现缓存呢?在Sp...

2019-06-19 11:00:53 191

原创 Spring中的依赖注入

依赖注入:当某个Java对象(调用者)需要调用另外一个Java对象(被调用者,即被依赖对象)时,在传统模式下,调用者通常会采用“new”被调用者的代码方式来创建对象,这种方式会导致调用者与被调用者之间的耦合性增加,不利于维护。在Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是依赖注入。竟然有了依赖注入的概念,知道了“依...

2019-06-17 19:02:34 189

原创 Spring中的核心容器

Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入来管理组成一个应用程序的组件。这些对象被称为 Spring Beans。在Spring框架中提供了两个核心容器:BeanFactory容器和ApplicationContext容器。Spring中的BeanFactory容器这是一个最...

2019-06-17 18:56:43 268

原创 Spring中的AOP

AOP:即面向切面编程,也称为面向方面编程。它是面向编程的一种补充。在传统的业务处理代码中,通常都会进行事务处理、日志记录等操作。虽然在Java的面向对象编程可以通过组合或者继承的方式来达到代码的重用,但如果要实现某个功能(如日志记录),同样的代码仍然会分散到各个方法中。这样,如果想要关闭某个功能,或者对其进行修改,就必须要修改所有的相关方法,在实际项目开发中,会加重开发人员的负担,效率低。因...

2019-06-17 18:52:21 91

原创 用反射实现JDBC的增删查改

在JavaEE项目开发过程中,无可避免的是操作数据库,在不用任何框架时,操作数据库是用原生的JDBC来实现的,其中JDBC的操作也非常繁琐,每次操作一条sql语句时,都要进行连接数据库,对sql语句的预编译,然后给每个参数设置对应的值,还要每次改变数据库资源,在sql语句拼接时,也要注意空格问题,给开发人员带来巨大的工作量。那么,在不使用任何框架时,该如何减少可避免的工作量呢?答案是用JAVA中...

2019-06-05 12:05:47 246

原创 如何用反射给实体类赋值

在JavaEE项目开发过程中,尤其是在原生的Servlet中,在接收页面传递的参数时,获取请求参数非常繁琐,或者是在原生的JDBC中,在接收数据库返回来的数据时,还要循环取值。这些问题给开发人员带来严重的工作量,在开发过程中非常吃力。那么,该如何解决这个问题呢?这个问题可以用反射来解决,因为反射可以动态的获取类的信息,在给实体类赋值是,我们可以用反射来动态的赋值,这样就可以解决开发人员大量的工作量...

2019-06-05 12:02:57 605

原创 Servlet如何把json字符串转成为实体类

在开发过程中经常会遇到JSON数据的获取和返回,其中JSON数据与实体类的互转也非常常见,那么我们该如何从jsp中传JSON数据到Serlvet中,然后通过Servlet来获取到JSON数据,再把JSON转换成对应的实体类呢?首先,在jsp中写一个用ajax提交的方法,其中该方法是已POST提交方法来进行提交,url为servlet的请求路径;data为要提交的内容,内容的四个参数都是json数...

2019-06-05 12:01:01 483

原创 Java中如何获取当前系统时间的字符串格式

在实际开发过程中,有时需要获取系统当前的时间,如用户注册时的注册时间,虽然用户不需要填写注册时间,但是在后台需要获取当前的系统时间作为注册时间。本实例介绍的是在Java中如何获取系统当前时间的字符串格式:首先,创建一个时间格式化的工具类StringUtil,定义两个接收时间格式化字符串的静态变量,然后在创建两个格式化字符串的两个方法,一个是使用Calendar对象获取系统当前时间的方法,另外一个...

2019-05-27 17:44:54 1887 1

原创 Servlet如何生成单号

在开发过程中,经常会遇到这样的情况,在需要一个有规律的单号时,而且这个单号在数据库中也是唯一的,如果需要用户手工输入很不方便,也容易产生重复的一系列错误,解决这个问题的最好方法就是让系统自动生成唯一的单号。生成单号可以有多种形式,本实例创建了一个保存预约客户的信息的方法,其中由系统自动生成单号,那么该如何实现自动生成单号而且又不重复呢?预约单号由字母KH、当前系统日期、4位数字和一些分隔符组成的...

2019-05-27 17:42:48 334

原创 SQL Server 如何实现分页

对于分页功能随处可见,其功能的实现思路对于开发人员也十分熟悉,但是对于用不同的数据库来开发,其SQL查询语句有所不同,下面我主要说的是SQL Server 在Java中是怎样实现分页的,分页思路都是一样的,有所不同的是数据库SQL查询语句怎样写,以下是实现分页的步骤:创建SQL分页查询语句:第一条SQL语句是SQL Server的分页查询语句,首先查具体的表,如何在进行查对应的字段,然后再进...

2019-05-27 12:24:46 415

原创 Servlet中如何处理Json时间

在Servlet中返回Json数据到页面的时候,遇到了个小错误,引发这个错误的原因是因为在返回日期时间的时,Json无法格式化处理时间所导致的,那么该如何处理这个错误呢?首先,返回Json数据的jar包是:json-lib-2.4-jdk15.jar,这个包主要封装了一些如何返回和处理json格式的数据,所以需要格式化json时间格式就必须从jar包里面提供的接口方法入手。第一步:实现Jso...

2019-05-27 12:22:06 212

原创 JSP四大作用域对象

在JSP中可以提交数据到Servlet中,但是如何获取Servlet返回的值呢?当然可以用转发的方式来进行转发数据,要用转发,首先必须要了解JSP中的四大作用域对象:pageContext:当前页面,解决了当前页面内数据共享问题。获取其他内置对象,这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访...

2019-05-15 21:57:47 303 1

原创 Servlet监听器总结

何为监听器?顾名思义就是监听行为。在Web系统中,所谓的监听器就是应用监听事件来监听请求的行为而创建的一组类。HttpServletRequest、HttpSesion、ServletContxet对象在Web容器中遵守创建、运行、销毁这样的生命周期。当进行相关的监听配置后,Web容器就会调用监听器上的方法,进行对应的事件处理,从而了解运行的情况。各监听接口和事件类如下表:注意:使用监听器需要...

2019-05-15 21:49:58 207

原创 Servlet如何导入数据到数据库

本实例的技术要点都来自与POI组件,它是本实例的核心组件,所有的Excel、Word文档相关的操作都是由POI组件完成的,下面介绍实例中如何使用POI组件来实现Servlet导入数据到数据库。在操作文档之前先导入POI的组件,该组件可以在网上进行下载获取,下载后把poi.jar复制到Web项目中的WEB-INF的lib目录下即可使用创建用于封装商品信息的JavaBean类Commodit...

2019-05-07 17:29:40 855

原创 Servlet如何导出数据到Excel表格

本实例的技术要点都来自与POI组件,它是本实例的核心组件,所有的Excel、Word文档相关的操作都是由POI组件完成的,下面介绍实例中如何使用POI组件来实现Servlet的Excel表格导出。在操作文档之前先导入POI的组件,该组件可以在网上进行下载获取,下载完把poi.jar复制到Web项目中的WEB-INF的lib目录下即可使用创建用于封装商品信息的JavaBean类Commod...

2019-04-27 12:14:56 821

原创 Servlet如何接收ajax提交的数组

在做Servlet项目过程中,遇到了一个需求,就是如何批量删除数据, 顾名思义,批量就是把多条数据同时删掉,那么这个时候,我们要把需要删除的数据提交到后台中,就需要把多条数据的主键id放到一个数组中,然后提交到servlet中进行处理,那么我们怎样把数组提交到servlet中呢?刚刚开始我是用post提交过去的,用post提交必须要把数组转成字符串的格式才能提交,如果不转成字符串格式会序列化数据...

2019-04-27 12:11:33 869

原创 Java中的反射和类加载机制

反射机制当我们拿到一个.class文档对它一无所知,但文档本身就记录了许多信息。Java在需要使用到某个类时才会将.class文档载入,在JVM产生java.lang.Class实例代表该文档,从Class实例开始,就可以获得到类的许多类型信息。.class文档反映了类基本信息,因而从Class等API取得类信息的方式就称为反射。Java.lang.Class类没有公开的构造函数,实例是由J...

2019-04-27 12:07:16 145

WebRtc音视频通话demo

基于Android开发免费开源的音视频通话demo,页面样式与微信通话一样,复制粘贴就可以集成到你的项目内.

2020-11-10

空空如也

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

TA关注的人

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