- 博客(234)
- 资源 (4)
- 收藏
- 关注
原创 BeanFactoryPostProcessor
执行顺序BeanFactoryPostProcessor —> 普通Bean构造方法 —> 设置依赖或属性 —> @PostConstruct —> InitializingBean —> initMethod此案例是 将配置文件里的一些敏感数据进行加密后,启动项目后,spring容器会优先执行 BeanFactoryPostProcessor 子类流程,在子类流程中再将敏感数据进行解密,起到保密的效果。
2023-05-07 22:52:38 230
原创 详解Bean注入Spring的方式
xml 方式注解方式@Configuration + @Bean@ImportFactoryBeanBDRegistryPostProcessor从Spring的IOC特性入手,聊一聊Spring中把Bean注入Spring容器的几种方式我们先来简单了解下IOC的概念:IOC即控制反转,也称为依赖注入,是指将对象的创建或者依赖关系的引用从具体的对象控制转为框架或者IOC容器来完成,也就是依赖对象的获得被反转了。可以简单理解为原来由我们来创建对象,现在由Spring来创建并控制对象一、xm
2022-05-11 17:52:40 2130
原创 使用@Valid+BindingResult进行controller参数校验
@Valid注解用于校验,所属的包: javax.validation.Valid@Valid 可以定义实体,在实体的属性上添加校验规则,在API接收数据时添加@Valid注解后,实体就会开启校验的功能@Valid注解类型的详细介绍1、空检查**@NotEmpty:**用在集合类上面;不能为null,而且长度必须大于0@NotBlank: 用在String上面;只能作用在String上,不能为null,而且调用trim()后,长度必须大于0**@NotNull:**用在基本类型上;不能为null
2022-04-19 11:11:15 369
原创 java面向对象增删改查demo
需求:java用面向对象基础知识点实现基础的房屋系统增删改查第1步:实体类package com.lian.pojo.f.demo9;/** * House的对象表示一个房屋信息 */public class House { //编号 房主 电话 地址 月租 状态(未出租/已出租) private int id; private String name; private String phone; private String address;
2022-03-03 14:28:13 573
原创 java面向过程小游戏
package com.lian.pojo.g.a.c;import java.util.Date;import java.util.Scanner;public class LooseChanges { private static double money = 0; private static double balance = 0; private static Date date = null; public static void main(Strin
2022-03-02 10:21:01 3112
原创 ==和equals关系
案例1:equals和==应用package com.lian.pojo.f;import java.util.Objects;/** * 1、== 用于基本类型来说,byte、short、int、long、float、double等,笔记的是两个基本数据的值是否相等 * 2、== 用于引用类型来说,比较的是两个对象的引用地址是否相等 * 3、equals 只能用于比较引用类型,比较的是 两个对象的值 是否相等 * 4、hashcode 两个对象equals比较如果相等,则两个对象的has
2022-03-01 10:28:54 187
原创 java继承Demo
一、继承关系案例父类非私有的属性和方法可以在子类直接访问子类必须调用父类的构造器,完成父类的初始化,类似有鸡才有蛋,有老子才有儿子第1步:父类public class TopBase { public TopBase() { System.out.println("l am top parent"); }}第2步:儿子类package com.lian.pojo.a;public class Base extends TopBase{ public
2022-02-26 15:58:14 310
原创 Date和Calendar应用Demo
第1步:需求判断两个日期时间段是否大于3个月第2步:代码逻辑package com.lian.pojo;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class A002 { public static void main(String[] args) throws Exception
2022-02-25 15:32:52 129
原创 java递归实现汉诺塔游戏
第1步:代码逻辑package com.lian.pojo;/** * 汉诺塔实现流程 */public class Hnt { public static void main(String[] args) { Tower tower = new Tower(); tower.move(2,'A','B','C'); }}/** * num 总共圆盘数量 * x、y、z 代表3根柱子 */class Tower{ public
2022-02-24 17:40:42 3330
原创 java递归走迷宫游戏
第1步:代码逻辑package com.lian.pojo;/** * 递归实现迷宫玩法 */public class Mouse { public static void main(String[] args) { //绘制迷宫 int[][] arr = new int[8][7]; //将最上面和最下面的一维数组 的所有元素均赋值 1 for (int i = 0; i < 7; i++) {
2022-02-24 09:52:11 2211
原创 SpringSession演示
应用场景:分布式服务里,用户登录信息各个服务模块间session不同步,SpringSession将用户信息保存到redis中,实现了各个服务间信息同步,登录需求很多也用jwt保存工程图展示第1步:创建maven父项目<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X
2022-02-16 15:04:12 654
原创 java计时器StopWatch
StopWatch是Spring核心包中的工具类,一个简单的秒表工具,可以计时指定代码段的运行时间以及汇总这个运行时间,功能类似System.currentTimeMillis()Systen.currentTimeMillis()public static void main(String[] args) { long startTime=System.currentTimeMillis(); //获取开始时间 //函数主体代码 long
2022-01-27 10:55:23 3446
原创 (ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()理解
第1步:父类package com.lian.pojo;public abstract class Person<T1,T2> {}第2步:实现类package com.lian.pojo;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;public class Student extends Person<Integer, Boolean> { @Su
2022-01-26 14:58:56 824
原创 java System.arrayCopy
代码演示package com.lian.pojo;import org.junit.Test;import java.util.Arrays;public class SystemCopyTest { /** * Object src : 原数组 * int srcPos : 从元数据的起始位置开始 * Object dest : 目标数组 * int destPos : 目标数组的开始起始位置 * int length : 要c
2022-01-16 12:45:36 177
原创 static代码块和普通代码块区别
第1步:创建A和B对象A对象package com.lian.pojo;public class A { static { System.out.println("A1:父类静态代码区域"); } { System.out.println("A2:父类非静态代码区域"); } public A() { System.out.println("A3:父类构造器"); }}B对象package
2022-01-15 18:50:53 143
原创 JWT实战演示
温馨提示:jwt理论加强第1步:创建maven项目<?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-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven
2022-01-12 18:58:39 183
原创 SAXReader解析xml文件
dom4j是Java的XML API,作用是读写XML文件第1步:导入maven依赖<!--测试SaxReader解析xml文件--><dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version></dependency>第2步:编写a.xml&l
2021-12-29 18:36:34 2173
原创 Mybatis日期范围查询使用CDATA案例
问题:进行时间段的查询时,在mapper文件中直接使用">","<"等关系运算符是无法解析的<if test="executeStartDate != null and executeStartDate != ''"> and execute_time >= to_date(#{executeStartDate},'yyyy-MM-dd HH24:MI:SS')</if><if test="executeEndDate != null and
2021-12-29 10:59:54 1241
原创 EasyExcel读写实操Demo
需求:从excel中写入数据和读取数据一、EasyExcel实现Excel写操作第1步:创建maven项目导入依赖<dependencies> <!--easyExcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId>
2021-12-22 19:06:37 967
原创 MyBatisPlus实操Demo
工程展示第1步:创建maven项目<?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-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache
2021-12-21 19:48:54 432
原创 Spring @ConditionalOnBean注解
@ConditionalOnBean作用:放在 @Bean 注解上,如果@ConditionalOnBean注解参数中指定的bean存在,就实例化当前作用的Bean# 当给定的在bean存在时,则实例化当前Bean@ConditionalOnBean # 当给定的在bean不存在时,则实例化当前Bean@ConditionalOnMissingBean # 当给定的类名在类路径上存在,则实例化当前Bean@ConditionalOnClass # 当给定的类名在
2021-11-06 11:18:03 686
原创 Spring @Conditional注解demo
案例演示@Conditional作用是按照一定的条件进行判断,满足条件就给容器注册bean,它可以用在带有@Bean注解的方法上,如果给定条件计算结果为true,就会创建bean,否则就会忽略这个bean。1、实现Condition接口的类package com.lian.demo.bean;import lombok.Data;import org.springframework.context.annotation.Condition;import org.springframework.
2021-11-05 18:38:53 146
原创 Socket编程教程
1、基础socket通信package Io.com.lian.net;import java.io.DataInputStream;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) throws Exception { //服务端需要使用S
2021-10-17 22:21:38 781
原创 lambda表达式教程
@FunctionalInterfacepublic interface Supplier<T> { /** * Gets a result. * * @return a result */ T get();}自定义函数式接口public class Person {}@FunctionalInterfacepublic interface PersonInterface { void inse...
2021-10-17 21:01:52 182
原创 Stream流基础教程
1package Io.com.lian.stream;import java.util.Arrays;import java.util.List;import java.util.stream.IntStream;import java.util.stream.Stream;public class StreamDemo { //数组生成stream static void gen1(){ String[] str = {"a","b","c"
2021-10-11 20:25:29 1329
原创 【MongoDb教程05】MongoDB操作集合
MongoDB中的集合是一组文档的集,相当于关系型数据库中的表。1、创建集合MongoDB使用db.createCollection()函数来创建集合。语法格式:db.createCollection(name, options)。name: 要创建的集合名称。options: 可选参数, 指定有关内存大小及索引的选项。options 可以是如下参数字段类型描述capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它
2021-09-22 22:26:20 328
原创 【MongoDb教程04】MongoDB操作数据库
1、创建数据库在MongoDB中创建数据库的命令使用的是use命令,该命令有两层含义1)切换到指定数据库2)如果切换的数据库不存在,则创建该数据库我们使用use命令创建一个名为 pi 的数据库> use piswitched to db pi> 2、查看所有数据库# 启动mongodb客户端,连接到mongodb服务器[root@iZ2ze5v2vdwv6veyksylhxZ bin]# ./mongoMongoDB shell version v4.2.1conn
2021-09-21 16:53:56 429
原创 【MongoDb教程03】MongoDB用户与权限管理
Mongodb作为时下最为热门的数据库,那么其安全验证也是必不可少的,否则一个没有验证的数据库暴露出去,任何人可随意操作,这将是非常危险的。我们可以通过使用为MongoDB创建用户的方式来降低风险1、MongoDB中的常用权限read允许用户读取指定数据库readWrite允许用户读写指定数据库dbAdmin允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profileuserAdmin允许用户向system.users集合写入,可
2021-09-20 20:18:15 536
原创 【MongoDb教程02】MongoDB安装和启动
1、下载MongoDB下载地址:https://www.mongodb.com/download-center/community2、安装MongoDB在Linux平台的MongoDB为解压版,我们只要解压tgz文件就可以使用2.1 安装openssl10依赖MongoDB4.2.1需要依赖openssl10相关资源,必须先在Linux中安装openssl10卸载wgetyum remove wget安装wget命令yum -y install wgetyum install wge
2021-09-19 22:17:41 792
原创 【MongoDb教程01】MongoDB是什么
1、什么是MongoDB什么是mongoDB一个以json为数据模型的文档数据库为什么叫文档数据库文档是json document,并不是一般理解的PDF、world主要用途应用数据库、类似于Oracle、Mysql、海量数据处理、数据平台主要特点JSON数据模型笔记适合开发者、横向扩展可以支撑很大数据和并发mongoDB是免费的吗MongoDB有两个发布版本,社区版和企业版MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB.
2021-09-19 08:58:15 161
原创 RedisDesktopManager远程连接阿里云服务器redis
1、查看防火墙状态systemctl status firewalld2、开启防火墙systemctl start firewalld3、防火墙开启6379端口 firewall-cmd --zone=public --add-port=6379/tcp --permanent4、关闭防火墙systemctl stop firewalld5、配置连接...
2021-09-14 10:55:20 404
原创 elasticSearch分词
一、安装 ik 分词器官方文档语言分词默认使用标准分词器demo测试POST _analyze{ #默认采用标准分词器 standard "analyzer": "standard", "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."}返回结果{ "tokens" : [ { "token" : "the", "start_offset" : 0,
2021-08-30 16:30:32 142
原创 elasticSearch基础语法
1、简介https://www.elastic.co/cn/what-is/elasticsearch 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的 接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。 REST
2021-08-30 14:43:06 309
原创 vagrant给vmbox创建虚拟机及docker安装mysql和redis
1、安装vmbox和vagrant1、下载地址:Vagrant: https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.msiVirtualBox:https://download.virtualbox.org/virtualbox/6.0.10/VirtualBox-6.0.10-132072-Win.exe2、初始化:中科大镜像站,如: https://mirrors.ustc.edu.cn/centos-clou
2021-08-27 12:09:24 1805
原创 【算法菜鸟篇01】运算符及常用数据结构
一、二进制二、与或非运算&与运算0&0=0;0&1=0;1&0=0;1&1=1即:两个同时为1,结果为1,否则为0例如:3&5十进制3转为二进制的3:0000 0011十进制5转为二进制的5:0000 0101结果:0000 0001 ->转为十进制:1即:3&5 = 1|或运算运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;即 :参加运算的两个对象,一个为1,其值为1例如:
2021-08-26 09:45:42 699
BabelLanguagePack-eclipse-zh_4.8.0.v20190126080931.zip
2019-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人