Java
文章平均质量分 74
Lambo Chen
Life is so simple, I do not have complicated thoughts.
Github: LamboChen
展开
-
Mockito 助你实现真正的单元测试
文章目录1. 扯犊子2. 一个字,干3. Mockito 闪亮登场3.1. 引入依赖3.2. 测试代码3.4. 为啥是真正的单元测试4. 参考1. 扯犊子话不多说,单元测试,知道的卅?mock 数据? 也懂的卅?好,上菜!!!2. 一个字,干业务逻辑说明: MockitoService 调用 MockitoDao, 需要对 service 进行测试待测试代码:MockitoServ...原创 2020-05-01 19:19:34 · 947 阅读 · 0 评论 -
【maven】多 module项目搭建
文章目录1. 前言2. 单一 module 项目2.1. IDEA 创建项目2.2. maven 命令创建2.3. maven 项目结构3. 多 module 项目3.1. 创建顶层 module3.2. 添加子 module3.3. module 版本管理4. bom 项目5. 相关链接1. 前言本着 “ 干货的定义,往往都是基于某种特定场景 ” 的原则,开篇之前,先来点前戏:只讲 ma...原创 2020-03-19 22:07:19 · 1087 阅读 · 0 评论 -
一篇文章入门粒子群算法
前言本文为我学习粒子群算法时结合多篇优秀文章和搜集相关资料总结而来百科算法学习粒子群算法原理之前,我们呢先来百科一波。维基百科-粒子群算法粒子群优化(Particle Swarm Optimization, PSO),又称微粒群算法,是由J. Kennedy和R. C. Eberhart等[1]于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。其中“群(swa原创 2018-02-07 21:54:51 · 4922 阅读 · 1 评论 -
MyBatis入门【七】入门小结
mybatis执行过程1、配置mybatis的配置文件,SqlMapConfig.xml(名称不固定)2、通过配置文件,加载mybatis运行环境,创建SqlSessionFactory会话工厂SqlSessionFactory在实际使用时按单例方式管理3、通过SessionFactory创建SqlSessionSqlSession是一个面向用户接口(提供操作数据库方法),实现原创 2018-01-30 09:12:51 · 215 阅读 · 0 评论 -
MyBatis入门【六】动态SQL
在MyBatis中,运用动态SQL可以进行动态的添加操作数据库的条件,使操作数据库更加灵活代码示例select id="findUserList" parameterType="UserQueryVo全路径/别名" resultMap="UserCustom全路径"> SELECT * FROM USER where> if test="userCus原创 2018-01-30 01:11:35 · 178 阅读 · 0 评论 -
MyBatis入门【五】输入映射、输出映射
输入映射通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo包装类型包装类示例public class UserQueryVo{ //在这里包装所需要的查询条件 //用户查询条件 private UserCustom getUserCustom(){ return userCustom; }原创 2018-01-30 01:01:46 · 242 阅读 · 0 评论 -
MyBatis入门【四】SqlMapConfig.xml文件属性详解
SqlMapConfig文件简要SqlMapConfig.xml为MyBatis框架核心配置文件,SqlMapConfig.xml配置模板 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> c原创 2018-01-30 00:52:20 · 262 阅读 · 0 评论 -
MyBatis入门【三】Mapper开发基础
前言在MyBatis的mapper开发中需要编写mapper.xml映射文件编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象开发规范1、在mapper.xml中namespace等于mapper接口地址 "mapper接口全路径">2、mapper.java接口中的方法名和mapper.xml中statemen原创 2018-01-30 00:38:00 · 438 阅读 · 0 评论 -
MyBatis入门【一】MyBatis框架基本概念
今天开始就正式进入学习MyBatis框架的光明大道了,在正式学习之前先来刷刷框架学习前的副本。百科MyBatis百度百科MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“in原创 2018-01-29 23:53:07 · 1142 阅读 · 0 评论 -
Intellij IDEA 2017创建SSM入门项目及相关配置
前言本文主要讲解Intellij IDEA创建SSM入门项目本文不会讲解SSM的理论知识本文所建项目未用到maven进行管理本文篇幅很长,请配同目录享用环境说明Intellij IDEA 2017.2.6Apache-tomcat-8.5.23jdk 1.8MySQL 5.7Windows 10版本说明Spring-4.3.14MyBatis-...原创 2018-02-05 17:45:27 · 7554 阅读 · 3 评论 -
Java Spring Controller 获取请求参数的几种方法详解
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。若”Content-Type”=”application/x-www-form-urlencoded”,可用post提交url形式:http://localhost:8080/SSMDemo/demo/addUser1?username=lixiaoxi&password=11111转载 2018-01-28 14:21:31 · 1345 阅读 · 0 评论 -
Spring入门之解决HibernateTemplate.save()不能写入数据
当我们用Spring+HibernateTemplate整合项目时,会遇到这样一个问题:向数据库中写数据时,不报错也没有异常抛出,提示写入成功,但就是在数据库中并没有数据写入成功。* 问题原因 *数据被缓存了,但未flush解决方法在save方法后添加hibernateTemplate.flush();推荐: 在hibernate.cfg.xml文件中添加:propert原创 2018-01-28 09:57:30 · 5124 阅读 · 3 评论 -
Hibernate单表映射之hibernate单表操作
Hibernate初探之单表映射 本文为学习时所做笔记,不足之处,欢迎指正。主要内容:单一主键基本类型对象类型组件属性单表操作CRUD实例单一主键(以MySQL为例)assigned : 由Java应用程序负责生成(手工赋值) native : 由底层数据库自动生成标示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等基本类原创 2018-01-19 15:03:04 · 430 阅读 · 0 评论 -
web学习路线
前言本文主要面向对象是web小白(或者和我一样只有一点基础的)本文更偏向于web后端学习路线本文所讲述的后端部分主要是Java web些许兴趣在正式开始学习之前,肯定是需要先小聊一波的啦。俗话说得好,兴趣是最好的老师。我也一直很赞同这话,比如我自己喜欢的东西我一个人做着都忒起劲儿,要是我不喜欢的东西,就是给我很大的诱惑那也没法(或许这样的想法是不对的,也难怪我和大佬之间...原创 2018-04-09 17:35:58 · 10748 阅读 · 2 评论 -
【Linux】初入Ubuntu的Java开发者安装软件手记
前言在几个月前终于从蓝屏系统转战Ubuntu,前前后后也装了很多次的Ubuntu,以及相关的开发软件,为节省以后再次重装系统、软件所花费的查资料的时间,特写一文记录下我常用的软件的安装。Ubuntu安装初入系统,第一步肯定是安装Ubuntu的啦,我采用的是在我固态上切割了两个分区,一个分区装Windows,另一个装Ubuntu。安装双系统需要注意的是,尽量先安装Windows,将待安装的分区...原创 2018-10-18 13:05:10 · 1228 阅读 · 0 评论 -
SpringBoot集成Kaptcha实现图形验证码
前言相信大家在浏览网页的时候,经常会碰到人机校验。很经典的要属Google的人机校验,用多张图片进行点击校验。可以说是对于我们人类来说就是很烦的啦。烦归烦,但是为了安全着想,我们还是需要为自己的项目加上验证码机制,特别是一些防刷的接口调用下。今天我们就来学习简单的图形验证码实现。环境准备SpringBoot DEMO,Maven项目。创建SpringBoot项目很简单,Intellij I...原创 2019-01-25 14:15:53 · 4529 阅读 · 5 评论 -
【Java 8】FutureTask、CompletableFuture实践案例
文章目录1. 前言2. demo 代码2.1. 定义耗时操作2.2. 同步代码2.2.1. 运行日志2.3. 同步代码另一种写法2.3.1. 运行日志3. FutureTask版本3.1. 异步分析3.2. FutureTask 版本3.2.1. 日志分析3.2.2. 异步分析4. CompletableFuture4.1. 日志分析4.2. FutureTask VS CompletableFu...原创 2019-09-25 01:36:12 · 1862 阅读 · 4 评论 -
SpringBoot集成Ehcache实现本地缓存
文章目录1. 前言2. 搭建SpringBoot项目2.1 引入依赖2.2. 编写业务类3. 配置 Ehcache4. 使用 Ehcache5. 测试5.1. 第一次请求接口5.2. 第二次请求接口(与上一次间隔 TTL 以内)5.3. 第三次请求(与上一次间隔超过 TTL)参考1. 前言Ehcache 作为本地缓存,接入简单。想了解更多知识,可 Google 下 Ehcache,Redis...原创 2019-09-20 01:46:34 · 3230 阅读 · 0 评论 -
AOP+自定义注解在SpringBoot中的简单使用
文章目录1. 前言2. 自定义注解2.1. 元注解2.2. 自定义注解2.3. 使用注解3. AOP3.1 引入依赖3.2. Aspect类3.3. 小结参考1. 前言AOP相关文章,可以先看下博主之前的AOP在Spring项目中的使用:Intellij IDEA创建Spring项目之基于Aspectj的AOP操作(注解方式)Intellij IDEA创建Spring项目之基于Aspec...原创 2019-09-15 22:05:44 · 711 阅读 · 2 评论 -
EvoSuite生成单元测试用例
前言闲话少说,直接上干货。EvoSuite官网: http://www.evosuite.org开源代码:https://github.com/chenlinghong/evosuitemaven使用1、引入maven插件<plugin> <groupId>org.evosuite.plugins</groupId> <arti...原创 2019-09-10 10:26:03 · 5580 阅读 · 6 评论 -
Java中三目运算符之类型转换
前言相信各位 Javaer 对于三目运算符(三元运算符)都不陌生,较多情况下使用三目运算符即可节省一个 if-else 语句赋值的编写,笔者也是经常使用三目运算符,前段时间遇到了一点三目运算符的类型转换的坑,便在此记录一下。望更多的朋友能够避免,也加深我对三目运算符的理解。三目运算符使用闲话不说,直接上代码。/** * 三目运算符使用 */public void ternaryOpe...原创 2019-09-03 08:59:08 · 2311 阅读 · 2 评论 -
Depth First Search in Java
1. 概述在本教程中,我们将探讨Java中的深度优先搜索深度优先搜索(DFS)是一个应用于树、图等数据结构的遍历算法。在移动到下一个分支之前,深度优先搜索会深度为优先原则去探索新的分支。在接下来的部分中,我们将首先了解树的实现,然后是图。要了解如何在Java中实现这些结构,请查看我们以前的关于 二叉树 Binary Tree 和 图 Graph 的教程。2. 树的深度优先搜索使用 D...翻译 2019-09-02 00:03:05 · 379 阅读 · 1 评论 -
【译文】5 Different Ways to Create Objects in Java
原文章链接: https://dzone.com/articles/5-different-ways-to-create-objects-in-java-with-ex前言Rambo(小编)最近开始学习新的领域——技术文章“英译中”,这是Rambo的开篇文章,希望以后能够多多的去学习、翻译、搬运优质文章。初学翻译,加上自身技术能力有限,翻译的有偏差,还望评论指出,我们相互探讨出更合适、贴切、专...翻译 2019-08-17 20:59:59 · 378 阅读 · 1 评论 -
【基于Mahout的个性化推荐系统】3、显微镜模块设计
总纲传送门:基于Mahout的个性化推荐系统GitHub传送门:基于Mahout的个性化推荐系统一、前言在推荐系统中,往往会有很多数据来源,比如初始数据集录入(学习使用)、第三方平台数据(类似广告联盟)、用户行为数据(在平台上的操作数据如点击)、用户属性分析数据(年龄性别等)等。本文主要讲解推荐系统的数据来源模块——数据采集模块、执行器模块。数据采集主要用于采集及写入,执行器主要用于计算刷...原创 2019-08-13 01:17:25 · 433 阅读 · 0 评论 -
【基于Mahout的个性化推荐系统】2、电商平台业务系统设计
总纲传送门:基于Mahout的个性化推荐系统GitHub传送门:基于Mahout的个性化推荐系统一、前言本文主要讲解推荐系统的“载体系统”——电商平台业务系统的基础设计,且本文仅进行简要架构设计进行阐述,对于细节设计方面并不会涉及。对于此平台来说,仅进行客户端业务调用,对于此系统的后台管理系统,采用了另外一套系统进行实现,故此文仅介绍业务接口设计及实现。二、后端架构设计【注】:此部分后...原创 2019-08-13 01:15:19 · 706 阅读 · 0 评论 -
【基于Mahout的个性化推荐系统】1、系统设计
小叙小叙博主用Solo搭了个博客,欢迎访问、收藏:chenlinghong本系统Github传送门:基于Mahout的个性化推荐系统一、前言近日在学校做毕设,主要部分是实现一个简单的个性化推荐系统。经过了长达一个多月的学习和搬砖实现,基本能实现其个性化推荐功能。在此准备写几篇专题系列文章,专注讲解“基于Mahout的个性化推荐系统设计”的整个设计过程及实现。由于能力有限,本系列文章主要介...原创 2019-05-24 20:12:49 · 1704 阅读 · 1 评论 -
SpringBoot解决跨域问题
前言跨域问题,是web开发都绕不开的难题。但我们首先要明确以下几点跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/ java等其它环境跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。浏览器出于安全的考虑,使用 XMLHt...原创 2019-01-27 14:21:45 · 19133 阅读 · 5 评论 -
Hibernate单表映射之hibernate进阶
Hibernate初探之单表映射 本文乃是我学习hibernate时所做笔记,不足之处,欢迎指正主要内容:hibernate.cfg.xml常用配置session简介transaction简介session详解对象关系映射常用配置hibernate.cfg.xml 常用配置1、show_sql:是否把Hibernate运行时的SQL语句输出到控制台,编码阶段便于测原创 2018-01-19 11:55:19 · 324 阅读 · 0 评论 -
Intellij IDEA创建第一个hibernate项目
最近在学习hibernate,教程上讲的都是eclipse的教程,奈何用了更为强大(个人感受)的IDEA,但是最开始因为不清楚hibernate的配置,被IDEA自动生成映射文件的操作给迷糊了,在这里写博客记录IDEA创建简单的hibernate项目,(本文只讲hibernate项目的创建过程,原理部分请移步hibernate其他教程,谢谢)HIbernate【维基百科】环境: Intel原创 2018-01-19 10:15:08 · 17813 阅读 · 0 评论 -
Spring属性注入【二】 注入对象类型属性
注入对象类型属性(重点)实现思想:1、创建service类和dao类 2、在service得到dao对象 (以service中内嵌dao为例)具体实现过程:1)在service中把dao作为类型属性2)生成dao类型属性的set方法3)配置文件中完成注册UserService类:public class UserService{ //定义dao类型属原创 2018-01-24 18:38:01 · 426 阅读 · 0 评论 -
MyBatis入门【十二】 Spring整合MyBatis基础
整合思路:需要Spring通过单例方法管理SqlSessionFactorySpring和MyBatis整合生成代理对象,使用SqlSessionFactory创建SqlSession(Spring和MyBatis整合自动完成)持久层的mapper都需要spring进行管理在applicationContext.xml配置sqlSession和数据源配置dbcp数据源(Sp原创 2018-01-31 17:50:18 · 379 阅读 · 0 评论 -
MyBatis入门【十一】resultMap小结及延迟加载
resultType:作用:将查询结果按照sql列名pojo属性名一致性映射到pojo中场合:常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示再页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中的是pojo)即可resultMap:使用association和collection完成一对一和一对多的原创 2018-01-31 17:39:56 · 413 阅读 · 0 评论 -
MyBatis入门【十】一对多查询
前言本文主要讲解入门项目的基本知识本文乃是我学习笔记总结,不足之处,还望指点本文中因多处使用注释,为方便书写,若以“//”双斜杠开头的都是注释本文中为了清晰讲解基础知识,其中的代码并未完整项目需求需求查询订单及订单明细的信息(大家自行脑补什么订单吧)SQL语句确定查询的主表:订单表 确定查询的关联表:订单明细表 (相信大家也清楚简单电商平台数据库的吧)原创 2018-01-31 17:33:45 · 242 阅读 · 0 评论 -
MyBatis入门【九】一对一查询之resultMap
前言本文主要讲解入门项目的基本知识本文乃是我学习笔记总结,不足之处,还望指点本文中因多处使用注释,为方便书写,若以“//”双斜杠开头的都是注释本文中为了清晰讲解基础知识,其中的代码并未完整项目需求需求查询一个订单信息,关联查询创建订单的用户信息(大家自行脑补什么订单吧)SQL语句确定查询的主表:订单表 确定查询的关联表:用户表 (相信大家也清楚简单电商原创 2018-01-31 17:21:55 · 311 阅读 · 0 评论 -
Spring的Bean管理(XML配置文件方式)
bean实例化三种方法在spring里面通过配置文件创建对象 bean实例化三种方式实现:第一种:使用类的无参数构造创建(重点)需要在类中有无参构造函数,如果类中没有无参数构造,出现异常User类:public class User{ public void add(){ System.out.println("add()方法"); }}原创 2018-01-24 14:09:12 · 654 阅读 · 0 评论 -
Intellij IDEA创建Spring的Hello World项目
前言本文主要是进行Intellij IDEA 2017 CI进行创建第一个Spring项目,并测试成功,并非讲解Spring原理环境Intellij IDEA 2017 CIJDK 1.8具体步骤1、新建项目勾选Spring 2、项目名称和路径、Finish项目名称建议见名知意,项目路径看个人,我这里就使用默认路径 等待jar包下载3、导入jar包原创 2018-01-24 11:38:39 · 10172 阅读 · 4 评论 -
Spring MVC架构原理分析
注:本文是我在学习Spring MVC基础的时候看视频教程所做的笔记,不足之处,还望指正。 视频链接:Spring MVC由浅入深教程MVC在B/S系统下的应用(图片来自视频) Spring MVC框架Spring MVC执行过程1、发起请求到前端控制器(DispatcherServlet) 2、前端控制器请求HandlerMapping查找Handler原创 2018-01-24 00:10:51 · 357 阅读 · 0 评论 -
Spring MVC自定义拦截器
前言:1、本文适合已经理解了Spring MVC相关知识,并能够自主进行创建Spring MVC入门项目的前提下,对拦截器有了一定的了解的读者 2、本文讲解的是怎么自定义拦截器,并非讲解拦截器基本原理,如需了解拦截器原理等理论知识请移步其他教程,谢谢!如需了解Spring MVC入门项目创建流程,请转Intellij IDEA创建spring MVC项目(博主带领你一步一步的创建Hell原创 2018-01-23 22:15:24 · 469 阅读 · 0 评论 -
Java注解学习笔记
本文为学习Java注解视频(全面解析Java注解)时所写笔记,不足之处,欢迎指正概念: Java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法分类: 按照运行机制 1、源码注解(注解只在源码中存在,编译成.class文件就不存在了) 2、编译时注解(注解在源码和.class文件中都存在) 3、运行时注解(在运行阶段还起作用,甚至会影响运行逻辑的注解) 按照来源分原创 2018-01-05 13:00:36 · 185 阅读 · 0 评论 -
Java反射学习笔记
Java反射学习笔记本文是我在慕课网学习Java反射视频(反射-Java高级开发必须懂的)时所写的笔记,不足之处,欢迎指正。Java反射机制: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。(Java反射机制)一、Class类的原创 2018-01-04 19:11:03 · 241 阅读 · 0 评论