- 博客(44)
- 资源 (3)
- 收藏
- 关注
原创 Spring笔记
提供访问Bean的方法:BeanFactory提供了一系列方法,用于访问和管理应用程序中的Bean,包括根据Bean的名称获取Bean实例、判断是否存在指定的Bean等。注入Bean之间的依赖关系:BeanFactory会根据Bean之间的依赖关系,进行依赖注入,即将一个Bean所依赖的其他Bean注入到它的属性中。扩展Bean的功能:后置处理器可以为bean添加新的属性、方法或者修改bean的属性值,从而扩展bean的功能。
2023-04-26 09:16:49 284
原创 BeanDefinitionRegistryPostProcessor
BeanDefinitionRegistryPostProcessorBeanDefinitionRegistryPostProcessor继承了BeanFactoryPostProcessor接口,去实现postProcessBeanDefinitionRegistry方法;bean工厂的bean属性处理容器,就是可以管理我们的bean工厂内所有的beandefinition(未实例化)数据,可以对Bean属性进行修改,当然也可以一处spring中的bean,自定义bean进去。当系统启动时实现Be
2022-07-01 16:44:11 644
原创 国密Sm4加密算法
国密Sm4加密算法笔记public class Sm4Utils { // 编码 private static final String ENCODING = "UTF-8"; // 加密名称 public static final String ALGORIGTHM_NAME = "SM4"; // 加密分组方式 public static final String ALGORITHM_NAME_ECB_PADDING = "SM4/ECB/PKCS7Paddi
2022-05-13 15:17:46 4561 1
原创 ArrayList解析
ArrayList解析ArrayList就是数组列表,主要用来装载数据,当我们装载的是基本类型的数据int,long,boolean,short,byte…的时候我们只能存储他们对应的包装类,它的主要底层实现是数组Object[] elementData。与它类似的是LinkedList,和LinkedList相比,它的查找和访问元素的速度较快,但新增,删除的速度较慢。小结:ArrayList底层是用数组实现的存储。特点:查询效率高,增删效率低,线程不安全。使用频率很高。正常使用的场景中,都是用来
2022-05-12 22:24:15 261
原创 单例Bean对象
单例Bean对象– >> finishBeanFactoryInitialization实例化bean是放在finishBeanFactoryInitialization(beanFactory)方法中的。finishBeanFactoryInitialization方法中执行beanFactory.preInstantiateSingletons(),用于实例化所有非懒加载的单例bean.protected void finishBeanFactoryInitialization(Con
2022-05-12 22:18:57 356
原创 Kafka基础
Kafka基础Kafka部分名词解释如下:Kafka 的发布订阅的对象是topic。我们可以为每类数据创建一个topic,把向topic发布消息的客户端称作producer,从topic订阅消息的客户端称作consumer。Producers和consumers可以同时从多个topic读写数据。一个kafka集群由一个或多个broker服务器组成,它负责持久化和备份具体的kafka消息。Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。
2022-05-12 22:17:11 291
原创 SpringMVC面试合集
SpringMVC面试合集1、什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC的流程?(1)用户发送请求至前端控制器DispatcherServlet;(2) DispatcherServlet收到
2022-05-12 22:11:48 176 1
原创 经典程序解析
经典程序解析一输出结果?public class Demo01 { public static void main(String[] args) { boolean isNull = true; System.out.println(isNull ? getValue(isNull) : 0); } private static Integer getValue (boolean isNull) { return isNull
2022-05-12 21:58:30 176
原创 全局异常捕获
全局异常捕获减少代码中的非必要try catch处理,增加全局异常处理。ResultBean,ResultUtil为通用controller返回结果处理,自行定义即可。关键:@RestControllerAdvice@Slf4j@RestControllerAdvicepublic class GlobalExceptionHandler { // 默认的异常捕获 @ExceptionHandler({Throwable.class}) public ResultBean exceptio
2022-05-12 21:46:07 1774
原创 自定义拦截器
拦截器自定义拦截器,实现WebMvcConfigurer@Configurationpublic class WebConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(authInterceptor()) .addPathPat
2022-05-12 21:39:47 170
原创 字段加密注解
自定义字段加密注解该注解实现,在接口返回时,对指定字段值进行加密操作。定义注解@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})public @interface DataEncrypt {}自定义ObjectMapper@Configurationpublic class ObjectMapperConfig {
2022-05-12 14:17:35 831
原创 Spring工具类
SpringBeanUtil工具类Spring的工具类,根据名称获取bean@Componentpublic class SpringBeanUtil implements ApplicationContextAware { private static ApplicationContext context = null; @Override public void setApplicationContext(ApplicationContext applicationContext )
2022-05-10 15:31:04 176
原创 Spring源码笔记
Spring源码BeanDefinitionBeanFactoryBeanDefinition、BeanFactory、Bean对象之间的关系BeanFactory的核心子接口DefaultListableBeanFactory 功能Bean生命周期@Autowired是什么@Resource是什么@Value是什么FactoryBean是什么ApplicationContext是什么BeanDefinitionBeanDefinition表示Bean定义,Spring根据BeanDefinition来
2022-05-09 22:07:45 239
原创 JDK1.8
JDK1.8笔记streamstream根据type分组List<VO> vosMap<String, List<VO>> map = vos.stream().collect( Collectors.groupingBy(item -> item.getType))获取某字段求和double sum = list.stream().mapToDouble(VO::getNum).sum();mapToDouble() 可以根据需要替换相应的方法
2022-04-22 17:45:40 593
原创 Springboot+MybatisPlus基础搭建
springboot+MybatisPlus基础搭建搭建工具及环境:IDEA+Jdk1.8+mavenNew Project --> Maven --> Create from archetype --> maven-archetype-quickstartps:如果生成的项目工程没有resources目录main文件下生成resources目录 New Directory 选择 Mark Directory as --> Sources Root
2022-04-12 16:13:52 1314
原创 CAS笔记
CAS原理主要原理:用户第一次访问一个CAS 服务的客户web 应用时(访问URL :http://192.168.1.90:8081/web1 ),部署在客户web 应用的cas AuthenticationFilter ,会截获此请求,生成service 参数,然后redirect 到CAS 服务的login 接口,url为https://cas:8443/cas/login?service=ht
2022-02-11 17:49:32 178
原创 自定义注解
自定义实现日志注解手动代码开始!创建自定义日志注解@AutoLog@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface AutoLog { String value()}AOP实现注解想要的功能@Slf4j@Component@Aspectpublic class AutoLogAspect { @Autowired private HttpSe
2022-02-11 17:46:29 854
原创 mybatis+oracle批量插入
mybatis+oracle批量插入记录mapperboolean saveBatch(List<Object> list)xml关键点:oracle的序列自增ID SEQ.XXXX.NEXTVAL ;定义 separator=“union all”;赋值的字段对应表中的列定义名。 #{item.xxx, jdbcType=VARCHAR} column2<insert id="saveBatch" parameterType="java.util.List">
2022-02-11 17:08:30 1098
原创 低延时笔记
低延时系统低延时核心思想解决的问题主要体现的点内存的数据计算和管理高并发异步服务框架消息对列缓冲文件存储系统低延时核心思想1、 减少网络中转环节,提高网络速度。减少跳点;增加带宽,使用千兆、万兆网卡,甚至InfiniBand。2、 提高数据处理速度,提高处理器速度,使用内存计算技术,使用并行计算等高性能处理技术。3、 减少磁盘IO操作、同步操作等,以降低接口延迟。解决的问题1、 数据可靠性。在减少数据落地的情况下,保证数据不丢失。采用异步写磁盘等技术保证数据可靠性。2、 吞吐量。对大
2022-01-28 17:20:47 910
原创 MybatisPlus配置数据源
MybatisPlus配置数据源MybatisPlus关键设置引入的包为baomidouMybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();完整config配置,@Configuration@MapperScan(basePackages = {"com.yck.mapper"}, sqlSessionTemplateRef = "mhspSqlSessionTemplate")public class
2022-01-14 15:35:41 2528
原创 Swagger2配置
Swagger2 Api接口管理pom依赖<dependercy> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version></dependercy><dependercy> <groupId>io.springfox</
2022-01-14 14:07:10 324
原创 RestTemplate调用Webservice接口
RestTemplate调用Webservice接口restTemplate的方式主要就是拼接xml,利用soapUI打开webservice连接之后,可以看到界面话的xml的格式,通过代码层手动构建拼接xml,然后再去发起请求。***ps:不同的webservice对应的xml是不同的,看具体soapUI中服务的格式***开启restTemplate@Configurationpublic class RestTemplateConfig { @Bean public RestTemp
2022-01-14 10:36:30 3582
原创 MybatisPlus代码生成器
MybatisPlus代码生成器MP提供代码生成的支持pom依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.6</version></dependency><dependency> <groupId>
2022-01-14 09:41:58 486
原创 linux操作jdk
linux操作jdk记录查看原java包:rpm -qa|grep java卸载openjdk(下面三个):rpm -e --nodeps 卸载操作rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.222.b10-1.e17_7.x86_64rpm -e --nodeps tzdata-java-2017b-1.e17.noarchrpm -e --nodeps java-1.8.0-openjdk-1.8.0.222.b10-1.e17_7.
2022-01-13 16:55:16 209
原创 内存溢出记录
内存溢出记录OutOfMemoryError内存溢出OutOfMemoryError内存溢出启动参数增加 -XX:+HeapDumpOnOutOfMemoryError (如果是服务器生产环境一般会有运维提供快照给予分析)当发生内存溢出时;找到jdk目录下jvisualvm 打开,将生成的hprof快照导入,查看信息可以看到内存中对象多的情况找到可能发生内存溢出的代码,再具体分析;如果是服务器上的OOM大致思路差不多,定位到占用比较多的对象,然后进行分析。...
2022-01-13 15:25:32 239
原创 keytool操作证书
keytool操作证书笔记笔记查看cacerts中所含有的证书:(changeit是cacerts的默认通用密码)keytool -list -keystore cacerts -storepass changeit删除具体别名证书:(alias 后面带别名)keytool -delete -alias server -keystore cacerts -storepass changeit将证书导入cacerts:(别名建议唯一)keytool -import -trustcacerts -
2022-01-13 15:19:41 6017
原创 nginx配置
nginx配置前后端分离项目通过nginx指向前端dist目录HTTP转HTTPS,websocket支持https配置前后端分离项目通过nginx指向前端dist目录server { listen 8080; #监听的端口 server_name localhost; #域名 location / { root /root/mhsp/dist; #前端dist资源目录 index index.html index.html } location ~ (^/api/v|^/cas
2021-11-30 10:37:03 4281
原创 二维码生成--Springboot打包jar的方式
二维码生成带logo生成带logo的二维码pom依赖生成Base64二维码End生成带logo的二维码springboot打成jar之后,读取resources下的静态资源图片,然后根据读取的图片生成到logo的二维码。jar打包之后在linux下不能用一般的方式进行读取,需采用流的形式。获取姿态资源图片InputStream inputStream = GenerateQRCodeUtil.class.getClassLoader.getResourceAsStream(QRCODE_LOGO
2021-11-30 10:03:34 339
原创 单例模式
单例模式创建一个私有的构造方法创建一个单例对象获取单例的方法饿汉式/** * 饿汉式 * * @author YangChingyu-k * @date 2020/3/23 15:06 */public class ESingle { private static ESingle instance = new ESingle(); private ES...
2020-03-23 15:14:05 173
原创 JDK 1.8 新特性之Stream
jdk1.8Stream学习笔记注:每个stream生成的对象只能自己使用一次/** * @author YangChingyu-k * @date 2020/3/4 14:22 */public class Test04 { public static void main(String[] args) { List<String> list =...
2020-03-23 14:59:54 201
原创 冒泡排序优化版
冒泡排序冒泡排序优化版冒泡排序优化版记录一次优化版的冒泡排序算法实现,原理两两相比较,大的放后面,优化处为:如果已经有序了则不需要再次处理/** * 冒泡排序 * * @author YangChingyu-k * @date 2020/3/23 14:29 */public class BubbleSort { public static void main(Stri...
2020-03-23 14:48:11 266
原创 java发送email
利用java来发送email这是一个小的发送emai的案例这是一个小的发送emai的案例代码里面放了很多注解,这里多说无益。发送邮件实体类:package com.yqx.emaildemo.demo;import lombok.Data;import org.apache.commons.mail.EmailAttachment;import java.util.List;...
2019-10-24 17:49:15 1030
原创 关于Excel的相关操作
对Excel的读入写出两种方式操作JXL方式POI方式两种方式操作在工作中我们经常会用到对excel的读入和写出的一些操作,之前这个一直是我避免的,这次理解完之后写下demo,记录一下。注释放在代码里面,可以直接跑一次尝试(先看效果,再看逻辑代码实现),两种方式都是比较好理解的,会其一,其二自然好理解,先明白后尝试写代码。JXL方式这是之前的方式,但是对excel版本可能有存在报错,记得好...
2019-09-11 16:12:15 276
原创 关于Dubbo的基础使用
Dubbo的基础搭建dubbo的基础使用搭建微服务的一些认识安装zookeeper创建项目测试是否成功题外末尾dubbo的基础使用搭建为什么写这个呢?现在大多数用的是提供给我们的springcloud,但是在公司用到的是Dubbo,当然进公司之后,虽然不用自己搭建,但是写多了接口,我就想尝试一次对dubbo的搭建,这次写了一个小的demo。官网:http://dubbo.apache.org...
2019-09-01 20:58:28 595
原创 关于Mybatis注解使用
Mybatis注解方式采用springboot+Mybatis的基础整合使用@Mapper注解采用springboot+Mybatis的基础整合使用Mybatis框架提供给我们很方便的对数据库进行相应的操作使用,刚开始用的时候,都是采用配置的方式,Dao的接口,然后在接口的实现类进行crud,而注解的方式有两种,在这里提供一种我经常用到的。@Mapper注解还是一样的配置数据源:serv...
2019-09-01 20:06:47 484 1
原创 ElasticSearch的多条件组合操作
ElasticSearch的基本使用介绍基本使用结论介绍官方概述:ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。基本使用关于客户端创建方式,Index 请看官方API文档,方式都差...
2019-07-17 20:09:41 1155
原创 springmvc使用
springmvc的使用介绍基本使用介绍官方解释:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。基...
2019-05-03 20:53:07 1734
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人