![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 66
Java
ybqdren
这个作者很懒,什么都没留下…
展开
-
实战Spring中的八大事务
一、测试前的准备数据表结构:1. StuServicepackage com.ybqdren.service;import com.ybqdren.pojo.Stu;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/9/15 */public interface StuService { public Stu getStuInfo(int id); public void saveStu();原创 2021-11-27 11:54:20 · 2547 阅读 · 0 评论 -
Java实现线性查找法,并对进行性能检测
在静态型数据源中进行线性查找package linearsearch;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/8/29 * * 线性查找法实现 在data数组中查找16 * * input: 数组,和目标元素 * output: 目标元素所在的索引;若不存在,返回-1 */public class LinearSearch { public static void main(String[] args)原创 2021-11-07 18:41:55 · 132 阅读 · 0 评论 -
哪些情况会导致操作字符串 数组和集合时出现Java空指针
场景复现package com.github.ybqdren;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/11/6 * <h1>字符串 数组 集合在使用时使用空指针</h1> */public class BasicUsageNpe { private static boolean StringEquals(String x,String y){ return x.equals原创 2021-11-06 07:37:24 · 387 阅读 · 0 评论 -
哪些情况会导致赋值时自动拆箱出现Java空指针,以及如何避免这些情况
包装器的类型可能产生空指针的场景场景复现package com.github.ybqdren;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/11/6 * <h1>自动拆箱引发的空指针问题</h1> */@SuppressWarnings("all")public class UnboxingNpe { public static void main(String[] args) {原创 2021-11-06 07:25:36 · 852 阅读 · 0 评论 -
总结Java NullPointerException 异常出现情况,以及如何从根源上避免空指针异常
空指针异常是什么?空指针异常(java,lang.NullPointException)可能产生空指针的场景场景复现package com.github.ybqdren;/** * Wen(Joan) Zhao <withzhaowen@126.com> * 2021/11/3 * * <h1>理解什么是空指针</h1> */public class WhatIsNpe { public static class User{原创 2021-11-04 11:10:05 · 827 阅读 · 0 评论 -
简单复习Java8性特性Lambda表达式与foreach循环
今天看到一个foreach写法,还以为是混了kotlin代码。结果上网一搜,发现是Java8新特性之一!一、新特性之一:foreach世界上最远的距离不是生和死,而是别人已经用上了foreach,而我还在使用增强for循环传统的for循环无外乎两种:1.就是普通的for循环 Map<Integer,String> map = new HashMap<>(); map.put(1,"面向对象编程"); .原创 2021-07-13 11:23:12 · 1161 阅读 · 0 评论 -
使用POI为Word文档设置阿拉伯数字形式、罗马数字形式的页脚
代码如下: // 创建页脚 XWPFFooter footer = document.createFooter(HeaderFooterType.DEFAULT); XWPFParagraph paragraph_default_footer = footer.createParagraph(); paragraph_default_footer.setAlignment(ParagraphAlignment.CENTER);原创 2021-06-22 16:45:58 · 1121 阅读 · 2 评论 -
使用Java爬虫爬取蓝调口琴网 口琴曲谱与伴奏资源
一、写在前面因为自己有蓝调口琴曲谱采集需求,于是就断断续续花了大概一周的时间写了这个爬虫。目前只能采集蓝调口琴曲谱和伴奏音频,后续会慢慢添加文字教程与视频教程的爬取。PS:这里我使用到了Cookie来获取查看权限,所以这个爬虫也只面向有会员权限的小伙伴使用。二、细节介绍1.登录采用Cookie验证的方式登录: httpGet.setHeader("Cookie", prop.getProperty("Cookie")); httpGet.setHeader("User-Agent", .原创 2021-01-27 15:47:10 · 1804 阅读 · 9 评论 -
Java Word模板引擎-Poi-tl
本文内容从Poi-tl官方文档摘录,poi-tl是一个基于Java POI的Word模板引擎,有着非常强大的功能此处只摘录了一些我现在需要用到的功能文章目录一、简单示例1.准备一个模板文档 `template.docx`2.写一个测试方法二、标签1.文本2.列表3.区块对区块对应用范围False或空集合非False且不是集合非空集合循环内置变量4.嵌套三、配置1.前后缀2.标签类型3.标签正则4.计算标签值5.Spring表达式6.SpringEL作为区块对的条件7.错误处理标签无法被计算标签数据.原创 2021-01-26 10:51:22 · 1940 阅读 · 0 评论 -
Apache POI获取Word文档文本格式示例
一、Word文档格式二、代码示例 /** * 读取指定word文档 * @param file * @return */ private static void readWordFile(File file) throws IOException { XWPFDocument document = new XWPFDocument(new FileInputStream(file)); List<IBo..原创 2021-01-21 22:33:28 · 587 阅读 · 0 评论 -
基于Java的Office 系列文档处理五种工具简单介绍
随手一查,发现还不少一、JacobJacob是Java-COM Bridge的缩写,通过它Java与Microsoft的COM组件建立桥梁,实现了对微软Office的COM接口进行调用acob技术的优势是通过对微软Office的COM接口简单调用,能够生成格式规范的word文件。Jacob技术的缺陷是只能使用windows平台作为服务器,对unix和linux不很支持,且Microsoft Office软件必须在服务器端安装。二、Apache POIApache 软件基金会的开放源码函式.原创 2021-01-19 09:07:28 · 2076 阅读 · 0 评论 -
Java数据库连接池c3p0、dbcp和dbutils工具类的使用详解
一、数据库连接池的简单介绍1.数据库连接池简介在系统初始化时,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况。数据库连接池工作原创 2021-01-16 19:43:06 · 834 阅读 · 0 评论 -
一个Spring4.1.x环境集成Spring Security各种报错问题解决办法
在写实训项目时,使用的是老师的环境,pom.xml如下```xml 4.0.0 com.crm CRMSystem war 0.0.1-SNAPSHOT CRMSystem Maven Webapp http://maven.apache.org junit junit 4.11 <!-- 1.日志 --><!-- 实现slf4j接口并整合 --><depe..原创 2020-12-29 19:09:45 · 385 阅读 · 0 评论 -
Android常用布局简单示例
Android程序中界面是通过布局文件设定的一、线性布局在实际开发中比较常用,主要以水平和垂直方式来显示界面中的控件。其中vertical表示线性布局垂直显示,horizontal表示线性布局水平显示水平显示(默认)<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http..原创 2020-12-21 00:32:10 · 1036 阅读 · 0 评论 -
Java虚拟机运行机制与相关概念
文章目录JVM组成一个Java文件的执行过程Java进程与jvm虚拟机的关系jvm线程与系统原生线程1.关系jvm内存区域1.线程私有区域:2.线程共享区域:2.直接内存程序计数器:线程私有,无内存溢出问题虚拟机栈:线程私有,描述Java方法的执行过程本地方法区:线程私有堆:也叫做运行时数据区,线程共享方法区:线程共享JVM的运行内存1.新生代2.MinorGC:新生代的gc过程3.老年代永久代2.垃圾确认方法引用计数法可达性分析3.Java中常用的垃圾回收算法- 标记清除算法- 复制算法- 标记整理算..原创 2020-11-27 21:33:55 · 1092 阅读 · 0 评论 -
Hibernate持久化生命周期简单介绍
当应用通过调用Hibernate API与框架进行交互时,需要从持久化的角度关注应用对象的生命周期。持久化生命周期是Hibernate中的一个关键概念,正确地理解生命周期,可以更好地了解Hibernate的实现原理,掌握Hibernate的正确用法。一、三种状态Hibernate框架通过Session来管理Java对象的状态,在持久化生命周期中,Java对象存在以下3种状态。1.瞬时状态(Transient)瞬时状态又称临时状态。如果Java对象与数据库中的数据没有任何的关联,即此Java对象原创 2020-11-25 19:31:16 · 384 阅读 · 0 评论 -
第一个Spring boot项目:SpringBoot基础配置入门与实践
一、一个简单的Spring Boot项目Spring MVC的视图解析器的作用主要是定位视图,也就是当控制器只是返回一个逻辑名称的时候,是没有办法直接对应找到视图的,这就需要视图解析器进行解析了。1.在pom.xml中加入JSP和JSTL的依赖包 <dependencies> <!-- Spring Boot Starter依赖引入 --> <!-- AOP包 --> <d..原创 2020-11-24 19:23:47 · 310 阅读 · 0 评论 -
使用jackjson构造自定义json串
如果要构造以下格式的json数据{"total":10,"rows":[ {"uid":1,"depId":1,"employeeId":2,"userName":"马云","userPwd":"123456","createDate":"1999-07-01 16:15:29","status":true}, {"uid":2,"depId":1,"employeeId":4,"userName":"杨幂","userPwd":"123456","createDate":"2013-06-1原创 2020-11-22 19:41:46 · 400 阅读 · 0 评论 -
解决EasyUi-SpringMVC控制器接收中文字符乱码问题
在做实训项目的时候遇到了这样的一个问题:前端页面提交数据正常,后端Controller控制层获得的数据乱码上网查了下资料,在web.xml中添加了以下内容 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter原创 2020-11-18 14:42:19 · 125 阅读 · 0 评论 -
Maven执行install时报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
今天接着昨天做项目对进度做时,发现执行mvn install无法成功总是会报如下的错误:[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 4.698 s[INFO] Finished at: 2020-11-15T16:58:47+08:00[INFO] Final Memory: 11M/217M[INFO.原创 2020-11-15 17:02:12 · 466 阅读 · 0 评论 -
Spring Ioc依赖注入原理以及简单使用
一、定义控制反转(Inversion of Control ,Ioc)也称为依赖注入(Dependency Injection,DI)是面向对象编程中的一种设计理念,用来降低程序代码之间的耦合度。依赖一般指通过局部变量、方法参数、返回值等简历的对于其他对象的调用关系。例如在A类方法中,实例化了B类的对象并调用其方法来完成特定的功能,那么我们就说A类依赖于B类几乎所有的应用都由两个或更多的类通过合作来实现完整的功能。类与类之间的依赖关系增加了程序开发的复杂程度,我们在开发一个类的时候,还要考.原创 2020-11-14 21:47:50 · 848 阅读 · 0 评论 -
Mybatis查询数据无法映射到JavaBean
做实训项目,环境都是老师提供的,所以就遇到了今天这个问题:Mybatis查出来的数据无法封装到JavaBean中我的表字段如下 uid -- 用户id dep_id -- 部门id employee_id -- 员工id user_name -- 用户名 user_pwd -- 用户密码 create_time -- 创建日期 status -- 状态我的JavaBean格式如下public class UserBean { private Integer uid; //.原创 2020-11-13 18:34:07 · 1317 阅读 · 0 评论 -
tomcat部署应用无法访问前端页面
最近在做实训项目的时候使用到了 ssm框架,在项目环境搭建好后,运行程序时,一直遇到页面访问404错误。项目运行日志如下:十一月 13, 2020 11:56:07 上午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not .原创 2020-11-13 16:18:04 · 860 阅读 · 0 评论 -
Mybatis-config.xml配置文件基础配置详解
一、mybatis-config.xml 的作用mybatis-config.xml是MyBatis核心配置文件,该文件配置了MyBatis的一些全局信息,包含数据库连接信息和Mybatis运行时所需的各种特性,以及设置和影响Mybatis行为的一些属性二、Mybatis核心配置文件结构configuration配置 properties 可以配置在Java属性配置文件中 settings 修改Mybatis在运行时的行为方式 typeAliases 为Java类型命名一个别名(简称)..原创 2020-11-07 22:46:27 · 16024 阅读 · 0 评论 -
从0开始写SSM项目03-数据增加
文章目录一、修改easyui表单二、Controller将发送过来的数据封装到bean中1.POST携带参数2.UserController.java一、修改easyui表单 <div id="dlg" style="width: 400px; height: 280px; padding: 10px 20px"> <form id="fm" method="post"> <div class="fitem"> 编号: <input.原创 2020-10-26 22:31:36 · 207 阅读 · 0 评论 -
从0开始写SSM项目02-数据查询、通过springmvc发送json数据到easyui
SSM环境整合请看我上一篇博客:从0开始写SSM项目01-SSM开发环境整合文章目录一、数据查询1.定义一个javaBean2.查询所有用户信息UserDaoImpl.javaUserService.java二、构造Json数据三、EasyUi显示数据四、细节与总结jackson构造对象、数组混合数据时数据不干净使用SpringMVC传递json数据时一定要加上注解EasyUI接收数据并显示的一些事五、参考文献一、数据查询1.定义一个javaBean/** * Created by Zha.原创 2020-10-24 23:25:17 · 189 阅读 · 0 评论 -
MapReduce排序案例
文章目录一、源数据二、实现writableComparable接口三、定义两个字段first和second四、实现tostring()方法五、重写 compareTo()方法六、重写wirte()方法,实现序列化八、在map中将数据封装进比较器实现类对象中的first、second九、在reduce中将数据写出十、完整代码一、源数据a 1a 9b 3a 7b 8b 10a 5PairWritable.java二、实现writableComparable接口使用PairWri原创 2020-10-20 20:48:01 · 602 阅读 · 0 评论 -
从0开始写SSM项目01-SSM开发环境整合
本学期的课程大作业,慢慢做文章目录1.新建Maven项目,并配置pom.xml坐标2.配置spring-mvcspring/spring-mvc.xml3.配置spring4.配置Mybatisjdbc配置文件mybatis配置文件(基于mybatis注解开发)5.整合spring和mybatis6.日志配置文件7.完善项目结构1.新建Maven项目,并配置pom.xml坐标 <properties> <project.build.sourceEncoding>U原创 2020-10-19 20:31:10 · 493 阅读 · 1 评论 -
Java以字节输入流的方式从文件中获取数据,封装为一个工具类
我是用来读取json数据的,所以类名是如此:package com.zw.jsonio;import java.io.*;import java.nio.file.Path;/** * Created by Zhao Wen on 2020/10/14 * json文件读取工具包 */public class JsonReadUtils { public static String readJson(String pathString) throws IOException {原创 2020-10-17 20:15:16 · 331 阅读 · 0 评论 -
Maven项目以注解方式配置Mybatis
配置pom.xml依赖 <!-- mybatis maven环境搭建 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <dependen原创 2020-10-17 16:33:30 · 315 阅读 · 1 评论 -
Maven项目以XML文件形式配置Mybatis
文章目录一、配置pom.xml依赖二、创建实体类和dao的接口三、创建Mybatis的主配置文件 - SqlMapConfig.xml四、创建映射配置文件 - IUerDao.xml五、项目目录六、环境搭建注意事项一、配置pom.xml依赖 <!-- mybatis maven环境搭建 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>原创 2020-10-17 15:41:58 · 492 阅读 · 0 评论 -
Java Collection集合速查以及案例实践
Collection数组与集合数组缺点:长度固定2.数组只支持可重复 顺序,比较单一集合主要是两大类:Collection 一组对象Map :键值对容器有共同的行为特征,操作方式Collection最常见:List 列表:可重复,有序的(按照顺序存储)实现类:例如ArrayList(动态数组)Set不可重复,无序的(和添加顺序无关)Collection常用方法(所有继承接口下的实现类都可以使用)1.添加 add(Object obj)原创 2020-10-17 10:43:00 · 1771 阅读 · 0 评论 -
25个常用Java String API速查以及案例实践
一、常用api1.length()求字符串的长度public int length() 返回此字符串的长度。长度等于字符串中的 Unicode code units数。 2.trim()去掉前后空格public String trim() 返回一个字符串,它的值是字符串,任何前导和尾随空格删除。 3.equals()比较两个字符串是否“相等”,比较字符串的内容public boolean equals(Object anObject)将此字符串与指定的对象比较。其结果是 tr原创 2020-10-13 19:13:26 · 727 阅读 · 0 评论 -
在Java中处理JSON数据:fastjson的简单使用
一、JSON基础1.JSON语法JSON是一种由双引号包裹的,名称-值对为组成形式的数据格式,如"MyNamIs":"json"注意:JSON名称和值对中都可以使用空格和特殊字符(除a~z 0~9以外的字符)。但是这样会影响移植性,所以为了保证最大的移植性,应该尽量避免使用。2.JSON对象与JSON数组JSON对象JSON对象是使用逗号分隔的名称-值对构成的集合,并使用花括号{}包裹,如:{ "one":"1", "two":"1", "three":"1", "o原创 2020-10-10 22:19:49 · 1828 阅读 · 0 评论 -
MapReduce项目环境配置以及简单例程-WordCount
本次使用到的依赖有:hadoop-mapreduce-client-core 2.6.0hadoop-common 2.6.0hadoop-mapreduce-client-common 2.6.0hadoop-hdfs 2.6.0junit 3.8.1一、配置Maven POM <!-- HADOOP MAPREDUCE --> <dependency> <groupId>org.apache.hadoop</groupId&..原创 2020-10-06 18:05:26 · 538 阅读 · 0 评论 -
使用Servlet实现分页
本次分页功能的实现使用了servlet+jsp+mysql【搬运自我的博客:创建于2020-06-22 17:29】一、实现前的准备1.本次分页我们使用MVC三层架构进行实现如果对mvc框没有了解,请移步我的另一篇博客MVC三层架构在Java项目中的应用2.项目结构如下3.c3p0连接池:C3P0Util.java、c3p0-config.xml数据库连接池工具包-C3P0Util.java/** * @author Zhao Wen * @date 2020年6月5日上午原创 2020-09-29 09:01:29 · 2030 阅读 · 0 评论 -
jdbc基础操作与工具类封装实践
记性不好,关于jdbc的细节总是一查再查,所以还是想着写一篇博客记录一下。本文首发我的博客-jdbc基础操作与工具类封装。参考文档都列在最下面,如果还想要深入了解,或是有些许疑问,可以去浏览一下。阅读本文的读者已假定对JavaSe大体有了基本学习,并对异常部分比较了解。一、jdbc初探jdbc可以简单理解为java连接各种数据库的一种接口(方式),此处我们用jdbc来连接mysq...原创 2020-04-27 19:56:02 · 306 阅读 · 0 评论 -
Java编程风格规范
前几天在gitbook上翻到Google的[Java代码编程风格规范](https://legacy.gitbook.com/book/jervyshi/google-java-styleguide-zh/details),花了些时间阅读,觉得非常有收获。 本着好记性不如烂笔头的老生常谈,我将其中常用部分内容摘录出来做成笔记,以备后查。一、准确的命名标识符 1.对所有标识符都通...原创 2020-04-22 19:55:19 · 903 阅读 · 0 评论 -
Java开发环境配置
这里写自定义目录标题第一步:下载软件第二步:安装JDK&JRE第三步:配置环境变量第四步:打开cmd进行测试第五步:安装eclipse写给自己看,方便往后查阅。第一步:下载软件下载eclipse编译器以及jdk和jre第二步:安装JDK&JRE分两次安装:第一次安装:安装目录 为D盘java子目录jdk之下第二次安装:D盘java子目录jre(自建)第三步:配置环境......原创 2019-03-19 16:52:20 · 422 阅读 · 0 评论