![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java初级
文章平均质量分 71
元澈
日月忽其不淹兮,春与秋其代序。
展开
-
使用Dubbo调用Mybatis懒加载出现数据丢失--懒加载的数据无法加载
<association property="bankInfo" column="user_id" fetchType="eager" select="com.jrq.core.mapper.CustomerBankInfoMapper.getDefaultCardByUserId"> 添加fetchType="eager"属性 ,急加载原创 2017-11-27 19:40:17 · 912 阅读 · 0 评论 -
Mybatis属性用法
1.insert 后返回 插入数据的ID <!-- 将插入数据的主键返回,返回到user对象中 SELECT LAST_INSERT_ID():得到刚insert进去记录的主键值,只适用与自增主键 keyProperty:将查询到主键值设置到parameterType指定的对象的哪个属性 order:SELECT LAST_INSERT_ID()执行顺序,相对于原创 2016-07-02 11:37:25 · 407 阅读 · 0 评论 -
Netty 4.x 用户指南
import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.channel.EventLoopG原创 2016-03-25 09:20:25 · 403 阅读 · 0 评论 -
Netty4.x
1.Channel:统一的异步I/O编程接口,抽象了所有点对点的通信操作2.ChannelFactory3.ChannelPipeLine4.NioEventLoopGroup 是用来处理I/O操作的多线程事件循环器,Netty 提供了许多不同的EventLoopGroup 的实现用来处理不同的传输.第一个经常被叫做‘boss’,用来接收进来的连接。第二个经常被叫做‘wor原创 2016-01-29 14:58:52 · 698 阅读 · 0 评论 -
Mysql死锁问题
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction; SQL []; Deadlock found when trying to get lock; try restarting原创 2018-01-22 10:37:49 · 276 阅读 · 0 评论 -
MYSQL免安装版配置
1. 切换到bin目录下以管理员权限启动cmd.exe 执行 mysqld install 结果 : Service successfully installed.2.再输入mysqld --initialize-insecure --user=mysql(执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空)原创 2017-05-12 15:06:13 · 173 阅读 · 0 评论 -
使用jar命令替换jar中的一个或多个文件
此过程用于jenkins自动部署中替换jar包的配置文件jar -uvf rpds.jar BOOT-INF/classes/db.propertiesPS:BOOT/classes是jar包内的目录,如果不加此目录,会把文件放到jar包的根目录,另外在jar包的同级目录也要有BOOT/classes这个目录上图说明替换多个文件的时候用空格分割原创 2017-09-05 12:43:42 · 17571 阅读 · 0 评论 -
ubuntu google chorme can not be run as root
linux 无法用root用户启动chorme,解决方法如下 1.首先需要安装十六进制编辑器 apt-get -y install hexedit 2.然后使用编辑器编辑Chrome (使用 dpkg -c 安装包名可查看安装目录) hexedit /opt/google/chrome/chrome 3.进入到编辑器后,光标在左侧,首先按TAB键切换到右原创 2017-03-15 09:26:54 · 386 阅读 · 0 评论 -
Spring Boot拦截器配置
1.before @Before("execution(* com.jrq.core.mapper..*Mapper.*(..))") public void pageHandle(JoinPoint joinPoint) { Object[] args = joinPoint.getArgs(); for (Object arg : args) { if (ar原创 2017-09-30 18:16:02 · 411 阅读 · 0 评论 -
Spring Boot+JSP启动报404错误找不到页面
IDE: idea2017.1.2启动方式:右击启动类, run现象:程序启动正常,jsp页面访问不了解决方法:mvn spring-boot:runps:如果提示启动类找不到,那是你的目录错误,在启动类的工程下的pom.xml目录执行mvn spring-boot:run原创 2017-09-18 19:39:30 · 1437 阅读 · 0 评论 -
Spring boot+thymeleaf打war包在tomcat
Spring boot默认是打jar包使用 java -jar xxx.jar命令的方式启动服务,如果想打war包在tomcat下发布也是可以的1.修改打包 方式packaging>jarpackaging> 修改为 packaging>warpackaging>2.修改依赖dependency> groupId>org.springframework.bo原创 2017-08-28 14:51:55 · 2719 阅读 · 0 评论 -
初识Spring Boot
前面的铺垫文章已经连着写了六篇了,主要是介绍了spring和SpringMVC框架,小伙伴们在学习的过程中大概也发现了这两个框架需要我们手动配置的地方非常多,不过做JavaEE开发的小伙伴们肯定也听说过“约定大于配置”这样一句话,就是说系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置,可是使用Spring或者SpringMVC的话依然有许多这样的东西需要我们进行配置,这样不仅徒增工作转载 2017-04-22 14:05:46 · 375 阅读 · 0 评论 -
Spring boot项目以jar包形式启动中文乱码
解决方法,添加启动参数 java -Dfile.encoding=utf-8 -jar xxxxxxx.jar原创 2017-08-09 09:48:15 · 5466 阅读 · 3 评论 -
Spring Cloud版本查看
https://github.com/spring-cloud/spring-cloud-release/releases原创 2017-06-22 10:57:53 · 2983 阅读 · 0 评论 -
Maven远程部署,兼容tomcat7/8
此方法实现war包上传及热部署,兼容tomcat7、8前提要求:maven、配置tomcat用户 1.配置tomcat用户名/密码,确保通过此用户名/密码可以登录tomcat首页 编辑conf/tomcat-user.xml 添加 2.pom文件添加插件,更新tomcat服务器IP+端口+用户名/密码原创 2017-05-26 15:37:53 · 965 阅读 · 0 评论 -
修改maven打包名字
仅需在pom.xml添加下列配置 userapi原创 2017-05-25 16:49:17 · 12055 阅读 · 1 评论 -
mvn deploy部署jar包到私库
mvn deploy:deploy-file -DgroupId=com.jrq.userapi -DartifactId=userapi-common-api -Dversion=1.0.0 -Dpackaging=jar -Dfile=E:\Workspace\USERAPI\userapi-common-api\target\userapi-common-api-1.0.0.jar -Dur原创 2017-05-22 14:45:04 · 3929 阅读 · 0 评论 -
ThreadPoolExecutor线程池的使用
package com.jrq.core.file.executor;import com.google.common.util.concurrent.*;import java.util.concurrent.Callable;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.Thr原创 2017-11-21 12:44:20 · 326 阅读 · 0 评论 -
Java Object的clone方法浅复制和深复制
1.先谈一下浅复制和深复制,浅复制只会为基本类型新开辟空间,对应于引用类型没进行复制,大概意思就是复制对象和被复制对象的引用是同一个,两个对象修改它们的引用对象属性值会相互影响,那么深复制就是clone时会为引用对象开辟内存,会为新对象指向新的引用2.浅复制实现 1)被clone的对象要实现Cloneable接口,否则会抛CloneNotSupportedException异常原创 2017-07-20 16:27:40 · 469 阅读 · 0 评论 -
Java枚举实现单例模式
自JDK1.5之后,使用单例模式的最佳方式就是使用枚举理由: 1、 自由序列化; 2、 保证只有一个实例(即使使用反射机制也无法多次实例化一个枚举量); 3、 线程安全;实现方式: public enum Singleton { INSTANCE; private Singleton() {原创 2017-06-22 10:19:54 · 296 阅读 · 0 评论 -
final关键字
1.final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用。2.(静态绑定)final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。3.使用final来修饰的类不能被继承。4.接原创 2017-06-16 11:18:49 · 291 阅读 · 0 评论 -
Java关键字
关键字(keyword)和保留字(reserved word)1) final 最终、不可改变final 关键字可以应用于类,以指示不能扩展该类(不能有子类)。final 关键字可以应用于方法,以指示在子类中不能重写此方法。一个类不能同时是 abstract 又是 final。abstract 意味着必须扩展类,final 意味着不能扩展类。一个方法不能同时是 abstract 又是原创 2015-12-25 10:55:25 · 276 阅读 · 0 评论 -
POI导入导出及动态复杂表头生成
在此之前打开POI分类已存在三篇文章介绍了POI的使用及流下载,近期项目发现之前的使用中是有缺陷的,今天做一下总结,从现在起我们可以忽略前三篇文章对POI的使用,但是流下载方式还是可以参考的,这里还是再提一笔,流下载使用ajax会出异常,不生效,我是用的是提交form表单的方式来进行流下载,很遗憾,暂时取不到返回值 下面我们继续谈一下POI的使用 首先需要强调几点,原创 2017-07-25 15:59:46 · 9703 阅读 · 3 评论 -
使用POI生成动态多行表头
近期在进行一个报表项目,页面是做了一个模版,支持用户配置sql显示数据,自然而然导出也要支持动态数据,这里我采用POI导出功能,听说JXLS支持模版式的表头功能,也比较强大,毕竟是对POI进行了封装。 下面我对POI生成动态表头的功能做封装 这里提供了更详细的POI数据封装及流下载方式概要 1.这里主要用到 CellRangeAddress合并单元格,这里明白构造方法的参原创 2017-07-19 21:20:12 · 2086 阅读 · 0 评论 -
使用POI生成Excel并进行流下载(不需在服务器上保存)
public JsonResponse export(HttpServletRequest request, HttpServletResponse response, LoginModel loginModel) { JsonResponse jr = new JsonResponse(); jr.setSuc(JsonResponse.FAIL);原创 2016-03-22 16:10:15 · 3955 阅读 · 1 评论 -
POI生成excel文件
EntranceGuardUploadEventModel eventModel = new EntranceGuardUploadEventModel(); List dataList = entranceGuardUploadEventService.queryAll(eventModel); // 第一步,创建一个webbook,对应一个Excel文件原创 2015-12-23 16:14:09 · 381 阅读 · 0 评论 -
类扫描工具类
import java.io.IOException;import java.lang.annotation.Annotation;import java.util.HashSet;import java.util.LinkedList;import java.util.List;import java.util.Set;import org.springframework.bean转载 2016-03-25 17:13:07 · 493 阅读 · 0 评论 -
对象比较类
/** * 比较两个对象属性是否相同 */ public void compareObj(Object obj1, Object obj2) { List textList = new ArrayList<>(); try { //((clazz.getSimpleName().equals("Building")转载 2016-03-25 17:09:58 · 402 阅读 · 0 评论 -
属性文件工具类
import org.apache.log4j.Logger;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;/*** 属性文件工具类* */public final class Props原创 2016-03-25 17:04:10 · 221 阅读 · 0 评论 -
字符串工具类
import org.apache.commons.lang3.StringUtils;/** * 功能描述: 字符串工具类 */public final class StringUtil { /** * 字符串分隔符 */ public static final String SEPARATOR = String.valueOf((char) 29原创 2016-03-25 16:44:44 · 244 阅读 · 0 评论 -
DOM4J方式创建解析XML
public class XmlDocument { //创建xml文件 public static void createXml(String pathName, Map map) { Document document = DocumentHelper.createDocument(); Element eleme原创 2015-12-27 14:01:30 · 287 阅读 · 0 评论 -
JAVA集合类
类继承结构如下:CollectionVectorCollectionArrayListCollectionCollectionHashSetCollectionCollectionVector : 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用,它不可能走出Array的限制。性能也就不可能超越Array。转载 2015-12-21 11:33:15 · 336 阅读 · 0 评论 -
流形式下载文件(结合POI生成excel使用)
String downFileName; //配置本地生成路径 String savePath = "E:/"; if (exportType.equals("0")) { downFileName = I18NUtil.getMessage(request, "employee.iodata.exportreport") +原创 2015-12-23 16:17:19 · 1230 阅读 · 0 评论 -
IDEA快捷键
CTRL + H 查看所有实现 CTRL + ALT +U 当前界面显示类图 CTRL+ALT+O 优化导入包 CTRL+ALT+L 格式化代码 CTRL+ALT+C 引入常量 CTRL+ALT+T 对代码段添加循环、try等CTRL+ALT+T...原创 2015-11-26 17:30:01 · 447 阅读 · 1 评论 -
Linux下无法加载动态库
在动态库的目录下执行命令(将当前目录加入path):export LD_LIBRARY_PATH=./原创 2016-02-16 13:01:09 · 456 阅读 · 0 评论 -
IDEA远程调试Tomcat
1.IDEA配置(1)新建远程Tomcat服务 (2)设置服务器IP和调试端口号(3)打开Startup/Connection选项卡,设置端口号2.linux服务器端重新启动Tomcat执行下列命令,jpda start 的意思是 Start Catalina under JPDA debugger,记住不要使用./startup原创 2016-05-11 15:49:06 · 583 阅读 · 0 评论 -
Java获取路径
1.获取项目classpath目录String pathName = this.getClass().getResource("/").getPath();2.获取项目根目录 String rootPath=getClass().getResource("/").getFile().toString(); String path = rootPath.s原创 2016-06-24 17:38:06 · 265 阅读 · 0 评论 -
Java格式化日期
Date time = dataList.get(i).getEventDate();//日期类型日期 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s"); format.format(time);//格式化原创 2015-12-23 14:58:17 · 2530 阅读 · 0 评论 -
数组工具类
import org.apache.commons.lang3.ArrayUtils;/** * 数组工具类 * * @author huangyong * @since 1.0.0 */public final class ArrayUtil { /** * 判断数组是否非空 */ public static boolean isNotEmp原创 2016-03-25 16:42:09 · 338 阅读 · 0 评论 -
转型操作工具类
/*** 转型操作工具类* */public final class CastUtil { /** * 转为String类型(提供默认值) * */ public static String castString(Object obj, String defaultValue) { return obj != null ? String.原创 2016-03-25 16:43:21 · 325 阅读 · 0 评论