自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hpeacheng的博客

Java学习之旅

  • 博客(64)
  • 收藏
  • 关注

原创 2022最新自研究51job(java爬虫)(因为黑马教程里的都不太好用了,会被js加密隐藏信息)

这里不是教大家如何解密隐藏信息,那个用java来做,有点困难,对于我这种小白来说,肯定是行不通的。我这个方法属于绕道而行。但是可以完成java对51job 的爬虫先上一下成果。准备阶段我就不多说了,用的是maven+boot,核心包用webmagic0.7.3和mybatis-common,其他的就大家根据自己的添加就好。1.第一步准备好要爬取的数据,这里除了id全是String,类型,因为我们只想获取到数据,不进行输出,所以只需要用String就好,避免需要转换数据类型,dataforma

2022-04-19 16:38:29 1030 2

原创 salt加盐MD5加密代码

普通的md5因为其代表的密码是一致的,这里说的比较抽象,看下面举的例子例如一串密码wer123456,加密后可能会是b6a6c36f9d25aa74(瞎写的)其中w,e,r,1,2,3,4,5,6,在每次加密后,代表的都是相同的加密代码,也就是其他人可用通过试错法,一个一个比对,将我们的加密之后的代码破解。而加盐salt就是为了防止这种情况的出现,因为其他人不知道我们在什么地方加了盐,因此基本不可能把盐给试出来。我是用的是SpringBoot 的test@RunWith(SpringR

2022-03-30 19:39:15 960

原创 Rabbitmq,报错timeout:null,连接超时问题

rabbitMQ 连接超时问题

2022-03-30 00:07:12 1323

原创 SpringBoot整合ElasticSearch测试代码

1.SpringBoot环境和测试类,我就不讲了。2.yml中的配置clustername:是es的集群名称,默认是elasticsearchcluster-nodes:tcp的地址,不要写错。spring: data: elasticsearch: cluster-name: elasticsearch cluster-nodes: 192.168.199.128:93003.注意:org.springframework.boot,...

2022-03-13 21:07:15 3011

原创 Kibana的索引库创建,mapping字段,document的增删改操作

Get /heima1/_mapping为获取映射字段信息GET /heima1/_search内容如下图

2022-03-09 17:39:18 954

原创 Vue的入门笔记

1.VUE出现之前java程序员写前端页面的话大部分都是MVC解构的但是出现了VUE之后就变成了MVVM解构,就是把C-control变成了VM-View&Model这样做的好处就是:模型与视图间的双向操作(无需开发人员干涉)2.在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中,也就是我们常见的document.getElementById等dom操作

2022-01-12 16:48:53 276

原创 ES6笔记

1.什么是ES6?就是ECMAScript第6版标准。2.什么是ECMAScript?ECMAScript是浏览器脚本语言的规范,而各种我们熟知的js语言,如JavaScript则是规范的具体实现。3.创建html空页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width

2022-01-12 15:27:12 366

原创 Feign-SpringCloud得介绍和应用,结合Hystrix,Ribbon

【1】feign,表面意思,是伪装得意思,在java中,其实大家可以理解为掩护,包装。【2】作用:我们之前远程调用得时候,是利用得Ribbon+RestTemplate.getForObject,然后里面拼接我们得访问地址 return this.restTemplate.getForObject("http://ITHEIMA-SERVER/user/findById/"+ id.toString(),String.class);【3】而如果我们利用了Feign,就可以更加简洁【4】使用

2021-12-25 23:47:49 260

原创 Hystrix熔断器的使用和问题,以及熔断机制

【1】Hystrix是豪猪的意思,因为豪猪的身上全是刺,可以起到保护效果,因此是这个名字,而这个组件在eureka中的作用就是起到保护作用,可以看作咱们自家电路的熔断器,当电压到达一定程度后,保险丝就会断开,保护全家的电路安全。【2】而Hystrix解决的是雪崩问题 雪崩问题:微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路:一次业务请求,需要调用A、P、H、I四个服务,这四个服务又可能调用其它服务。如果此时,某个服务出现异常...

2021-12-25 21:53:03 1175

原创 Eureka中容器,服务端,消费端的细节配置

【1】Eureka容器的细节配置 1.eureka-server-eviction-interval-timer-in-ms:扫描失效服务的间隔时间(默认为60*1000ms)失效剔除Eureka会统计最近15分钟心跳失败的服务实例的比例是否超过了85%。在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机。Eureka就会把当前实例的注册信息保护起来,不予剔除。生产环境下这很有效,保证了大多数服务依然...

2021-12-25 21:04:54 826

原创 搭建多个eureka容器,和多个服务提供端

【1】先上效果图分别搭建了1个用户客户端,2个服务客户端,2个eureka容器,1个网关。【2】先介绍怎么搭建2个eureka容器,前提是已经有一个搭建好的eureka(前两个文章有介绍) 1 首先复制一个eureka 2 两个eureka容器相互注册,怎么相互注册呢?这样我们的两个eureka就互相注册完毕,我们登陆的时候,用87端口也行,用86端口也行。如果还想注册多个eureka,就如法炮制,形成一个闭...

2021-12-25 20:34:43 1034

原创 研究了两个小时的SpringCloud的Eureka的服务端和客户端的注入,网上各说纷纭,最后还不如自己慢慢试:Connection refused: connect错误

【1】今天解除了SpringCloud,其实我现在还没学到啥程度,就已经被Eureka的各种报错搞麻了。【2】首先是Connection refused: connect错误,这个是在注入服务端就开始报错 但是这个根本不影响服务端的注入,可以看图2at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) at com.sun.jerse...

2021-12-23 22:46:30 594 3

原创 SpringBoot整合web页面-html

【1】首先我们要知道,在我们快速创建好SpringBOOT项目的时候,是不会出现以前maven创建web项目时会出现web这个文件夹的。而且SpringBoot也不支持jsp文件,那么我们应该如何去创建前端页面呢?

2021-12-23 14:26:06 2291

原创 SpringBoot中写一个拦截器-以及写MVC相关组件的规则

【1】在SpringBoot官方文档中有这么一段话> If you want to keep Spring Boot MVC features and you want to add additional [MVC configuration](https://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/web.html#mvc) (interceptors, formatters, view contro

2021-12-23 14:00:30 345

原创 SpringBoot的使用(热部署,yml文件配置)和Spring区别

【1】能接触到SpringBoot,那么Spring和Springmvc肯定都是很熟悉的了,Spring给我们带来了提供了强大的功能,Ioc,aop,事务管理等,让我们免去了很多的麻烦,少创建了很多工厂类,但是为什么还有SpringBoot?【2】 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向

2021-12-20 22:27:45 1191 2

原创 Jpa中的一对多和多对多查询

【1】多对一和多对多一直多是数据库的必备技能,所以jpa也少不了【2】先复习一下多对一和多对多是怎么回事 1的一方为主表,这里也就是cst_customer1,多的一方为从表cst_linkman 这里cust_id为1,而lkm_cust_id为多。就是在主表里,id不能重复,同一个id只能有一个,而在从表中,lkm_cust_id是可以重复的。 多对多,就是两张表的字段都放到一个第三张表中【3】...

2021-12-18 16:21:18 3357

原创 Jpa,关于JpaSpecificationExecutor<>的动态查询

【1】配置和JAR包和之前的jpa单表查询一样,这里就不导入代码了【2】有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。 这里我们要是用到Test单元测试,记得把这两个注解加到类前,不然不能使用Spring的配置@RunWith(SpringJUnit4ClassRunner.class)@C...

2021-12-18 15:40:06 1320

原创 SpringDataJpa的单表查询

【1】之前已经进行了Jpa的作用和利用hibernate进行操作对象来操作数据库,而SpringDataJPA更加的简单,方便,帮助我们进行面向对象的数据库操作。【2】jar包代码<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema...

2021-12-16 16:57:01 1056

原创 Jpa,Orm,Hibernate概述,面向对象的数据操作初学

【1】ORM:就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的,而不是调用sql语句。【2】为什么要有ORM:当实现一个应用程序时(不使用O/R Mapping),我们可能会写特别多数据访问层的代码,从数据库保存数据、修改数据、删除数据,而这些代码都是重复的。而使用ORM则会大大减少重复性代码。对象关系映射(Object Relational Mapping,简称ORM),主要实现程序对象到关系数据库数据的映射。【3】Jpa:J...

2021-12-16 00:15:22 1357

原创 ElasticSearch用springData的简化写法

【1】jar包配置<properties> <maven.compiler.source>1.9</maven.compiler.source> <maven.compiler.target>1.9</maven.compiler.target> </properties> <dependencies> <dependency>

2021-12-10 23:18:24 1845

原创 ElasticSearch集群搭建(分片)

【1】简介ES集群是一个 P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在 Elasticsearch 2.0 之前,无阻碍的网络下,所有配置了相同 cluster.name 的节点都自动归属到一个集群中。2.0 版本之后,基于安全的考虑避免开发环境过于随便造成的麻烦,从 2.0 版本开...

2021-12-10 00:04:38 1209

原创 ElasticSearch和Idea的联合,源方法,不使用springdata框架

【1】创建maven工程,不需要骨架,普通的即可,因为我们是为了学习es在idea上怎么使用,而不是开发项目。【2】导入jar包坐标 这里很多东西中央仓库都没有,而且加载又慢,顺便提一嘴,把maven的config文件夹下的conf-setting.xml中添加阿里的云端记得要把jdk手动设置成1.9,因为idea默认用1.5<properties> <maven.compiler.source>1.9</...

2021-12-08 00:23:22 892

原创 ElasticSearch的使用(elasticsearch-head和PostMan)

【1】es(elasticSearch)的学习应该是建立在lucene的基础上的,因为es的底层就是lucene,lucene之前的文章里有介绍用法,这里就不提及了【2】es的安装比较繁琐,反正就是跟着最新的官网来就对了,看视频的小伙伴如果是比较旧的教程不要根据旧教程安装,去https://www.elastic.co/products/elasticsearch下载最新版的即可,还需要下载https://github.com/mobz/elasticsearch-head ,es-head可视化界面的

2021-12-07 00:18:23 1142

原创 Mysql的索引,mysql利用B树的浅入了解

【1】其实索引的语句一共就三个部分,总共不超过10句,但是我们需要先了解一下其背后的基本原理,首先,mysql的innodb引擎是使用B树算法的。所以我们先要了解一下B树,B+树以及B*树,如果学过二分法或者平衡二叉树的小伙伴,肯定知道B树的概念。 B树就是把我们的数据按照大小先在叶子节点(也就是最底层)进行排序,然后把每个叶子节点的最小值取出,放入枝节点中,依此类推,最后到根节点。这样做的好处就是,我们在查询某个数据的时候,现根据根节点进行查找,然后再根据枝节点查找,最后再叶子节点中找到对应...

2021-12-01 20:59:43 2599

原创 Lucene全文检索,详细介绍

一、什么是全文检索1、数据的分类 1)结构化数据 格式固定、长度固定、数据类型固定。 例如数据库中的数据 2)非结构化数据 word文档、pdf文档、邮件、html、txt 格式不固定、长度不固定、数据类型不固定。2、数据的查询 1)结构化数据的查询 SQL语句,查询结构化数据的方法。简单、速度快。 2)非结构化数据的查询 从文本文件中找出包含spring单词的文件。 ...

2021-11-30 17:12:17 1151

原创 Spring-Security的页面端控制介绍

【1】直接步入使用步骤 1.在pol.xml上引入jar包 2.在需要页面控制的jsp上写入taglib语句 3.authentication:用处是,可以获取我们当前登录的用户 authorize:用处是,控制页面上的标签是否可以使用(显示)【2】jsp页面加入taglib<%@ page language="java" contentType="text/html; charset=U...

2021-11-29 15:21:47 513 1

原创 Sping-Security的服务器端权限控制,JSR250-@RolesAllowed,@Secured,@PreAuthorize

【1】服务器点的权限控制,目的就是管理用户的访问权限,哪些地方不能用,哪些地方可以用,那些是最高权限用户等,在一些app上大家肯定见过,只是不知道,例如VIP,会员的充值,充值成功后,后台系统就自动授予您权限,然后就可以使用vip的服务了。【2】首先我们先来介绍jsr250的@RolesAllow使用步骤 1.在pol.xml配置文件中导入jsr250坐标,因为jsr250是第三方,不是spring-security内置的,所以需要另外导入坐标。 <dependency...

2021-11-27 23:23:35 356

原创 Mybatis的注解方式,一次性注入多个参数需要用@Param

【1】今天在做一个多表添加的时候,发现了一个问题,就是明明我写的都是对的,但是web页面就是给我报一个找不到指定参数的情况可以看到我们的问题是Mybatis出现的,也就是大概率不可能是controller层或者是service层,只能先从dao层寻找答案,但是我通过debug的方式启动服务器,发现service和controller层都可以获得到这个参数,那么问题无疑,就是dao层的sql语句或者参数传错了,就这两行代码,看了半天,都没有找到哪里出错,而且外键关联的表里,也有我需要添加的数据。.

2021-11-27 19:55:29 814

原创 Spring-Security-passwordEncode密码加密02

【1】之前我们的Spring-Security没有进行加密操作,现在我们为了满足需求,添加上这个操作【2】我们把<security:password-encode>配置上,然后写一个bean,配置BCryptPasswordEncoder的类【3】在存入数据的时候,我们就应该把密码加密,这样我们数据库中的密码也是加密过后的 @Override public void saveUser(UserInfo userInfo) { //进...

2021-11-24 22:01:46 2344

原创 Mybatis多表关联查询

【1】直接步入正题,我们先看一下我们的多表结构【2】我们可以看到user_role关联了两个外键。 如果我们想通过users顺便把role查出来怎么办?【3】有经验的小伙伴一定知道,在创建users实体类的时候,还会创建一个role类,并且在users类中把role类当作成员变量写入。【4】那么sql语句怎么写呢,我利用的时mybatis的注解方法写sql语句,首先需要配置user类的成员变量和数据库中的对应名称。 用@Results注解,写入我...

2021-11-23 15:59:51 877

原创 Spring-Security的详细配置及用法01

【1】Spring-Security通俗一点来讲是用来管理我们登陆的一个框架,之前我们的登陆底层代码,都是自己手写的,要从web端获取parameter,然后从数据库中取出,再获取数据库中的账户密码,进行对比,相同的话跳转到登陆成功页面,不成功提示登陆失败。【2】利用Spring-Security框架的目的自然就是节省代码量,而且方便管理,不需要手动获取前端数据。【3】第一步,我们需要在pol中导入spring-security的jar包,一共四个,分别是web,config,core,和jstl需

2021-11-23 15:31:26 1259

原创 pageHelper--mybatis的内置分页插件

分页查询

2021-11-21 14:55:47 454

原创 Spring的@Resource获取bean对象报错:java.lang.NoSuchMethodError: javax.annotation.Resource.lookup()Ljava/lang

【1】今天写项目的时候突然碰到了一个错,之前本来是通过@Autowired注解获取对象的,然是后来我改成了@Resource注解就开始报错了严重: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@6e0e048a] to prepare test instance [com.kk

2021-11-21 14:11:42 744

原创 Spring和Spring和Mybatis结合成SSM

【1】终于把三大框架学完,剩下来的就是进行整合,形成大家熟悉的ssm框架【2】1首先我们先把环境搭好,然后写好mybatis的环境,进行测试,我们之前单独用mybatis的时候是这么写xml文件的,需要一个和接口同名同包的xml文件写在resourceRoot文件夹下,例如我们的接口叫IUserDao,我们的xml文件就要叫IUserDao.xml,这个文件中专门写我们的sql语句的,还需要一个SqlMapConfig的xml文件。 2IUserDao中写入我们对接的接口,然后sq...

2021-11-18 10:09:02 114

原创 SpringMvcDay02-03异常处理类

【1】大家肯定会问异常有什么好处理的,对于我们程序员来说,异常当然自己能看懂就行,但是对于用户的体验确实很差,如果将来用户访问你的页面,出现了异常,一大串代码出现,肯定也不好,所以这时就需要我们对异常进行处理让用户看到的界面是(服务器正在维护等词语)。【2】其实处理方法很简单,写一个自定义异常,然后写一个异常处理器即可 1先写一个自定义异常,其实就是一个继承Exception的类,里面写需要显示的异常即可。package cn.itcast.exception;//自定义的异常...

2021-11-17 23:47:33 85

原创 springmvcDay02-02文件的上传-跨服务器上传

【1】我们先来学习下传统方式下不利用mvc怎么上传文件 先来前端页面的展示<form action="user/fileOnload1" method="post" enctype="multipart/form-data"> 文件选择:<input type="file" name="onload"><br/> <input type="submit" value="上传"></form&gt...

2021-11-15 17:34:53 1049

原创 SpringMVCDay02-01Response,返回数据库数据到前端

【1】经过了day01的学习,我们已经学到了怎么获取表单或者单个从页面传过来的数据,今天我们就学习怎么把数据库中的数据传到页面上去。【2】首先我们还是需要在web.xml中引入前端控制器以及中文编码过滤器,然后在前端控制器的xml配置文件中1.开启注解扫描 2.配置视图解析器 3.开启注解MVC支持 4.配置静态资源放行器(这个是新内容,后面会说到)【3】我们第一个案例讲的是怎么把从数据库拿出来的数据返回给前端 这里采用模拟数据库返回的数据,就手动set一下。...

2021-11-15 17:02:44 2255

原创 SpringMvcDay01-02多样数据交互注解,Aliax,Javabean,Request,Session域

【1】经过第一天01的学习,我们已经有了和页面交互的基础,Spring可以帮我们自动获取到很多数据(普通数据,javabean封装,自定义转换器,原生request和response),大家可以发现,我们前端传的数据和后端接收的数据name值都必须相同,不然接收不到。有没有一种方法可以传不同的name值呢,比如,前端一个username="Hpeach",后端接收的时候是name。答案是当然可以,不过要用到@RequsetParam注解,怎么做呢,在后端接收数据的时候,其他都和之前的代码一样,需要在接收的参

2021-11-13 22:54:48 266 1

原创 Day01SpringMVC三重架构--和页面的交互数据基础

【1】首先我们要创建的maven是webapp的工程,别创建成普通java的了【2】pom的导入jar包就不在这里浪费字数了【3】我们需要知道SpringMVC在三重架构中的位置,我们可以来看一张图 可以看到我们的SpringMVC,其实就是表现层的框架,业务层使用Spring,持久层用Mybatis SpringMVC的地位相当于我们在没学习Spring时候的Servlet,用来和页面交互数据的那一层【4】首先我们来学习下,Spring...

2021-11-12 01:37:50 249 1

原创 SpringDay04-Spring的tx事务控制

【1】Spring中是自带事务控制的,事务控制,通俗易懂的来说,就是一个方法如果没有事务控制,运行出错的时候,数据库的数据会改变,但是控制面板报错,不执行接下来的语句了。而我们的目的是让他不报错的时候正常修改数据库,报错的时候,不修改数据库。【2】在没有Spring支持的时候,我们需要自写一个Connection类,来获取当的连接,存入ThreadLocal中,当方法执行完后,在把连接和线程断开。然后利用这个类中的方法,开启事务,关闭事务,回滚事务,提交事务。【3】但是当我们有了Spring之后,我

2021-11-10 14:00:38 996 1

空空如也

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

TA关注的人

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