java
Dreamy_Lois
这个作者很懒,什么都没留下…
展开
-
Java/poi/ppt操作 — 复制ppt单页放置在指定位置
【代码】Java/poi/ppt操作 — 复制ppt单页放置在指定位置。原创 2022-12-12 09:31:00 · 1161 阅读 · 0 评论 -
apache.commons.net.ftp 上传下载大文件时出现 FTPClient retrieveFile 假死(卡死)解决办法(3.5/3.6/3.7)
转载请注明出处:1. 问题使用 commons.net 包下载小文件时(< 5MB)程序能够顺利完成,但在下载大文件时(>80MB)程序会将文件下载完毕(检查文件大小,跟需要下载的文件大小一直),但是一直卡在 FTPClient.retrieveFile 方法。在网上查找了很多原因,大概了解了问题的所在。2. 原因FTPClient 连接时会产生两个 socket 连接,一个用来传输命令,一个用来传输数据。当我们在上传和下载大文件时,只有传输数据的socket连接在活动,那么传输命令的原创 2021-01-31 17:19:30 · 2617 阅读 · 0 评论 -
Springboot Swagger2 快速详细配置(简单易学代码注释多)
一、简介一份解决前后端分离开发的接口文档,详细解释自行百度。二、使用前提jdk 1.8 +Springboot三、配置创建一个Springboot-web工程添加Maven依赖<!-- swagger2 文档--><dependency> <groupId>io.springfox</groupId> <...原创 2020-04-02 11:59:59 · 597 阅读 · 0 评论 -
SSM SpringMVC CORS 服务端解决跨域问题教程(十分简单)
1. 跨域问题简介还是要简单介绍一下跨域的原因——同源策略。同源策略是浏览器上为安全性考虑实施的的安全策略。两个页面地址中的协议、域名和端口号一致,则表示同源。同源策略的限制:存储在浏览器中的数据,如localStroage、Cookie和IndexedDB不能通过脚本跨域访问不能通过脚本操作不同域下的DOM不能通过ajax请求不同域的数据所以,只要是请求不同 协议、域名和端口...原创 2019-11-02 16:49:19 · 2477 阅读 · 0 评论 -
(一)初见MyBatis,快速入门以及配置文件映射文件讲解(构建思路讲解,图文教学,整套实战)
1.简介持久层框架,java编写它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程使用ORM思想,ORM:Object Relational Mapping 对象关系映射,就是将数据库表和实体类做映射,操作实体类就能实现操作数据库表。...原创 2019-08-13 17:19:45 · 380 阅读 · 0 评论 -
(一)初见SpringMVC、RESTful编程风格、参数绑定、常用注解(图文教学,超级简单)
1. 简介1.1 MVC模型MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。View(视图):通常指的就是我们的 jsp 或者 html。作...原创 2019-08-24 11:39:51 · 1791 阅读 · 0 评论 -
(二)SpringMVC响应数据和结果视图、文件上传、拦截器(图文教学,超级简单)
1. 响应数据和结果视图1.1 返回值分类1.1.1 准备工作工程还是上一章的工程,我们只是再创建一个页面和controller类就行了。创建com.lois.controller.returnController类@Controller@RequestMapping("/return")public class returnController {}在wabapp文件夹...原创 2019-08-24 11:40:24 · 315 阅读 · 0 评论 -
(二)Spring AOP简介xml注解配置、JdbcTemplate、Spring事务控制(图文教学,超级详细)
实战项目完成代码:SpringTest——GitHub1. AOP简介1.1 什么是AOP?AOP:全称是 Aspect Oriented Programming 即:面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的...原创 2019-08-20 21:31:22 · 186 阅读 · 0 评论 -
(一)初见Spring、IOC控制反转介绍及xml配置注解配置、小实战(图文教学,超级详细)
1.简介Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IOC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框...原创 2019-08-20 21:31:52 · 241 阅读 · 0 评论 -
SSM整合、Spring整合SpringMVC和Mybatis、事务管理 XML+注解方式 (图文教学,超简单教程)
1. 前言在前面我们已经学习了Mybatis 、Spring 、 SpringMVC 三个框架,但是在应用中我们一般都是将三个框架一起使用,这一章我们就将这三个框架整合起来。SSM整合可以使用多种方式,咱们会选择XML + 注解的方式。SSM中领头的是Spring,使用Spring来整合Mybatis 和 SpringMVC 框架。1.1 整合思路创建好环境,导入需要用到的jar包先搭建...原创 2019-08-27 16:51:53 · 575 阅读 · 0 评论 -
java面试背经(待续)
finalfinal修饰变量,则等同于常量final修饰方法中的参数,称为最终参数。final修饰方法,则方法不能被重写。final修饰类,则类不能被继承final 不能修饰抽象类和接口final修饰的方法可以被重载,但不能被重写方法重写方法的重写(override)两同两小一大原则:方法名相同,参数类型相同子类返回类型小于等于父类方法返回类型,子类抛出异常小于等于父类...原创 2019-09-03 16:38:53 · 232 阅读 · 0 评论 -
(三)Mybatis延迟加载(懒加载)、一(二)级缓存、注解开发(简单易懂,图文教学,整套实战)
1.延迟加载1.1 什么是延迟加载?需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载.个人理解:就是把查询分成两次,例如我们在上章中讲一对一查询,查询账户和用户,我们是一次性完成的,延迟加载就是第一次只查询账户,如果用到用户,再查询用户。1.2 准备工作创建子工程day3将day2中的资源和代码都复制过来1.3 association的延迟加载向co...原创 2019-08-13 17:19:05 · 378 阅读 · 0 评论 -
(二)Mybatis增删查改、动态SQL语句、多表操作(简单易懂,图文教学,整套实战)
1.优化代码我们先对昨天的代码进行一下小小的优化,在测试类中写的测试方法,如果我们每次再写一个测试方法,都需要构建工厂什么的,就会有很多重复性代码修改测试方法MybatisTestpublic class MybatisTest { private InputStream in; private SqlSession session; private UserDao...原创 2019-08-13 17:18:29 · 1041 阅读 · 0 评论 -
浅谈Java中的“goto”——标签(基本用法+实例)
1.GoTo简介在编程语言中,goto一开始就存在。在学习汇编语言的时候,就有指令跳转的程序控制语句,其实程序跳转在编程语音中是普遍存在的,像c,c++,java等语言中if,for等都是程序跳转,如果你查看最终编译生成的汇编代码,你就会发现这没有什么特别的。2.那么为什么goto的名声这么不好呢?goto语句名声不好,还是要归功于goto语句是在源码级上的跳转。破坏结构化设计风格;经常带来...原创 2019-08-06 15:21:28 · 5699 阅读 · 1 评论 -
Docker在CentOS7中的入门教程
Docker1 Docker简介自行百度2 Docker安装与启动2.1 安装Docker使用Centos7.x镜像以上yum包更新到最新sudo yum update安装需要的软件包,yum-util提供yum-config-manage功能,另外两个是devicemapper驱动依赖sudo yum install -y yum-utils device-mappe...原创 2019-06-21 16:08:15 · 213 阅读 · 1 评论 -
初见Token、JWT结构和Java的JJWT实现JWT(简洁明了的了解Token,以及Token认证和Cookie认证的区别)
1. 什么的Token?Token的意思是令牌,跟cookie、session类似,一般是用来做用户认证。用户认证就是已经登录过的用户再次访问不用再次登录,服务器认为该用户是合法的。Token在现在web开发中运用广泛。2. 为什么要使用Token?这个问题我们就要谈到“认证机制”的区别HTTP Basic Auth,用户每次访问都携带帐号和密码。最简单的认证,但是由于将帐号和密码暴露给...原创 2019-07-29 17:21:29 · 3373 阅读 · 0 评论 -
(一)初见SpringCloud、主要框架简介、与SpringBoot版本对应关系,实战环境搭建(图文详细教学,SpringCloud实战小项目,走进SpringCloud)
1.SpringCloud简介1.1 SpringCloud与SpringBootSpringCloud是基于SpringBoot的一系列框架的有序集合,SpringCloud将成熟的广泛使用的服务框架整合起来,然后使用SpringBoot的特性“默认大于配置”的方式,让我们能够快速搭建项目。SpringCloud依赖SpringBoot,使用SpringCloud必须使用SpringBoot...原创 2019-08-03 14:11:43 · 565 阅读 · 0 评论 -
(二)SpringCloud 服务发现Netflix Eureka 和 服务调用Netflix Feign(图文详细教学,SpringCloud实战小项目,走进SpringCloud)
完成了上一章的准备工作,我们终于能开工了,该章我们介绍SpringCloud中的“服务发现”和“服务调用”1.服务发现——Netflix Eureka我们在上章中大概介绍过Netflix Eureka,Eureka是由Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,在SpringCloud中实现服务发现,Eureka包含...原创 2019-08-03 14:12:32 · 1528 阅读 · 0 评论 -
(三)SpringCloud 熔断器Netflix Hystrix、服务网关Netflix Zuul、分布式配置Spring Cloud Config、消息总线Spring Cloud Bus
上一章:(二)SpringCloud 服务发现Netflix Eureka 和 服务调用Netflix Feign在该章我们介绍剩余的SpringCloud组件1.熔断器——Netflix Hystrix在第一章我们已经大致说了一下熔断器的作用——防止服务器雪崩那么现在我们就介绍一下Hystrix熔断器,Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服...原创 2019-08-03 17:32:28 · 470 阅读 · 0 评论 -
(二)RabbitMQ工作模式之直接模式(Direct | Work queues)图文教学通俗易懂,SpringBoot集成,超级简单!!
1.直接模式(Direct)直接模式(Direct)也叫 Work queues。我们需要将消息发给唯一一个节点时使用这种模式,这是最简单的一种形式。直接模式是不需要配置交换机的,使用系统默认的交换机,默认交换机什么都不干,只是“走个形式”多个消费者可以监听同一个队列,采用轮询的方式将消息平均分发给消费者,也就是负载均衡消息传递时需要一个“RouteKey”,可以简单的理解为要发送到...原创 2019-07-27 13:16:04 · 747 阅读 · 0 评论 -
(三)RabbitMQ工作模式之分裂模式(Fanout | Publish/subscribe)图文教学通俗易懂,SpringBoot集成,超级简单!!
1.分裂模式(Fanout | Publish/subscribe)Sending messages to many consumers at once同时向多个消费者发送消息当我们需要将消息一次发给多个队列时,需要使用这种模式。需要提前将交换机和队列进行绑定路由器会将消息发送到所有绑定在该交换机上的队列2.实现2.1 完成MQ页面部署2.1.1 创建队列如何创建我们就不...原创 2019-07-27 16:23:41 · 635 阅读 · 0 评论 -
(四)RabbitMQ工作模式之主题模式(Topic | Routing )图文教学通俗易懂,SpringBoot集成,超级简单!!
1.主题模式(Topic | Routing )如果需要将消息发送到指定的队列(交换机上绑定了许多队列),那么你就需要使用该模式。该模式其实是分裂模式的加强版,分裂模式就像各个家的门没有上锁,主题模式就是把门上了锁,需要相应的钥匙才能打开。在该模式下,每个绑定在交换机上的队列都有自己的bindingkey,这个就是队列的锁在该模式下,消息都带有自己的routingkey,这个就是消息的钥...原创 2019-08-05 15:22:41 · 567 阅读 · 0 评论 -
(一)RabbitMQ简单入门教程(安装及工作模式介绍)图文教学通俗易懂,SpringBoot集成,超级简单!!
1.为什么要使用消息中间件?个人理解:主要是为了 解耦合,负载均衡,异步处理等,是分布式系统的重要组件。生产者只需要生产出消息,将消息交给消息中间件即可,这样生产者就不用去执行发送消息等待回应这些操作,大大提高了生产者的效率,这样就实现了高性能。2.RabbitMQ结构如图:相关概念:(生产者和消费者这里就不赘述了)交换机(exchange):我认为“分发器”这个名字更适合,交换机负...原创 2019-07-27 17:40:13 · 268 阅读 · 0 评论 -
BCrypt密码加密教程(基于SpringBoot框架中spring security)简单入门教学
1.密码加密的作用任何一个网站或应用的用户数据都是十分重要的,我们不可能用明文来保存在数据库中。因为如果我们的数据库被拖库后那么用户的数据就全部暴露了,这对企业来说是十分巨大的损失。密码应该通过哈希算法进行加密。2.BCrypt加密Spring Security提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法...原创 2019-07-28 21:48:27 · 1028 阅读 · 0 评论 -
java中的throw和throws理解
自己的感悟,throw是自己定义的异常,就是说 编程和运行都不会出问题,但是不符合逻辑,就像去取钱。钱被取成负数。不符合逻辑。所以要用throw。throws是在函数声明的地方写的,表示该函数可能出现的异常,需要调用单位来处理。一般有throw的函数要配合throws使用。上面的两种都是异常的处理方法之一“抛”,意味着函数异常没有被解决,而是交给上级解决。最终解决需要try和catch来解...原创 2018-12-09 16:17:09 · 1185 阅读 · 0 评论