Java
文章平均质量分 69
Java
预立科技
这个作者很懒,什么都没留下…
展开
-
spring Bean生命周期 源代码分析 AbstractAutowireCapableBeanFactory createBean doCreateBean
spring Bean生命周期 源代码分析 AbstractAutowireCapableBeanFactory createBean doCreateBean (1)设置bean的BeanName、BeanClassLoader、BeanFactory; 方法是invokeAwareMethods (2)初始化前置处理, 方法是applyBeanPostProcessorsBeforeInitialization (3)具体初始化, 方法是invokeInitMethods; 判断是否自定义初原创 2024-02-08 15:52:05 · 380 阅读 · 1 评论 -
@Autowired 和 @Resource 区别, 及参数说明
引用所指向的资源的名称。它可以使用全局JNDI名称链接到任何兼容的资源。对于方法注释,默认值是与该方法对应的JavaBeans属性名。默认值:java.lang.Object.class。可以向Deployer提供描述,以帮助选择正确的资源。对于方法注释,默认值是JavaBeans属性的类型。对于类注释,没有默认值,必须指定该值。对于类注释,没有默认值,必须指定该值。对于字段注释,默认值为字段的类型。对于字段注释,默认值为字段名称。声明是否需要带注释的依赖项。资源的Java类型。资源的身份验证类型。原创 2024-01-29 16:50:36 · 448 阅读 · 0 评论 -
spring自定义线程池 逻辑 配置 ThreadPoolTaskExecutor corePoolSize maxPoolSize queueCapacity rejectedExecutionHa
spring自定义线程池 逻辑 配置 ThreadPoolTaskExecutor corePoolSize maxPoolSize queueCapacity rejectedExecutionHandler原创 2023-07-05 09:59:02 · 1945 阅读 · 0 评论 -
Java 自定义注解, 以及@interface @Target @Retention @Around @Before @After ProceedingJoinPoint JoinPoint 等用法
Java 自定义注解, 以及@interface @Target @Retention @Around @Before @After ProceedingJoinPoint JoinPoint 等用法原创 2023-06-26 15:33:12 · 966 阅读 · 0 评论 -
Throwable、Error、Exception 运行时异常、非运行时异常
Throwable、Error、Exception 运行时、非运行时原创 2023-05-06 17:22:39 · 881 阅读 · 0 评论 -
JAVA 使用@Async、Future、AsyncResult处理异步返回结果, 类似C# Task await功能
JAVA 使用@Async、Future、AsyncResult处理异步返回结果, 类似C# Task await功能原创 2023-04-03 10:34:47 · 1926 阅读 · 0 评论 -
spring cloud、gradle、父子项目、微服务框架搭建---引入MyBatis-Plus(四)
spring cloud、gradle、父子项目、微服务框架搭建---引入MyBatis-Plus原创 2022-12-29 11:50:33 · 974 阅读 · 0 评论 -
AES AES/CBC/PKCS5Padding模式 128位秘钥长度和向量长度
AES是一种对称加密技术 即加密密钥和解密密钥相同在密码学中又称Rijndael加密法,AES/CBC/PKCS5Padding模式,128位秘钥长度和向量长度原创 2022-09-13 11:49:02 · 6196 阅读 · 2 评论 -
TransactionSynchronizationManager 事务同步管理器 TransactionSynchronizationAdapter afterCommit 的用法
TransactionSynchronizationManager 事务同步管理器 TransactionSynchronizationAdapter afterCommit 的用法原创 2022-09-02 14:03:03 · 2032 阅读 · 0 评论 -
redis分布式锁、介绍、具体实现,调用、原理、使用场景
redis分布式锁、介绍、具体实现,调用、原理、使用场景原创 2022-08-15 17:16:11 · 2541 阅读 · 0 评论 -
StringRedisTemplate、opsForValue、setIfAbsent、setIfPresent、getAndSet、increment、decrement用法
StringRedisTemplate、opsForValue、setIfAbsent、setIfPresent、getAndSet、increment、decrement用法原创 2022-08-09 16:51:29 · 3958 阅读 · 0 评论 -
jprofiler 安装调试用法,查看方法耗时
jprofiler 安装调试用法,查看方法耗时原创 2022-07-06 14:18:01 · 1939 阅读 · 0 评论 -
Java 创建事件Event、事件监听EventListener、事件发布publishEvent
个人认为,事件机制一般可由:事件源source,事件对象Event,事件监听EventListener,事件发布publishEvent组成事件源:引起事件发生的源; User用户信息, Order订单信息等为事件源数据,User登录状态loginStatus引起的事件, Order状态status引起的事件事件对象:继承ApplicationEvent,事件对象包含事件源,事件对象也就是要被监听的对象; UserEvent, OrderEvent为事件对象,事件监听:监听事件对象,事件对象被发布触发原创 2022-07-01 17:18:55 · 4281 阅读 · 0 评论 -
java html模板转图片、动态绑定数据
java html模板转图片、动态填充html数据,生成流对象, 在转成图片原创 2022-05-10 14:15:01 · 1099 阅读 · 0 评论 -
Java工具类 StringUtils、ArrayUtils、BooleanUtils、DateUtils、ObjectUtils、ResourceUtils
Java工具类 StringUtils、ArrayUtils、BooleanUtils、DateUtils、ObjectUtils、ResourceUtils等原创 2022-05-09 17:30:44 · 1645 阅读 · 0 评论 -
Entity、PO、VO、BO、DTO用法
一、Entity实体,和PO的功能类似,和数据表一一对应,一个Entity对应一张表entity里的每一个字段,与数据库相对应二、POPersistent Object持久化对象,跟数据库导入记录数据一一对应的映射关系。一个P0对应一个表或多个表联合查询, Entity是一个特殊的PO三、VOView Object对应页面显示的数据对象,可以和表对应,也可以不对应。控制层与视图层进行传输交换。四、BOBusiness object业务对象、一个复杂的业务,往往包含多个小业务例如,一原创 2022-05-09 13:45:42 · 3540 阅读 · 0 评论 -
windows 启动、停止java程序的.bat批处理
java 启动jar程序:cmd命令行程序、阻塞程序、显示cmd命令黑窗口javaw 启动jar程序:窗口程序、非阻塞程序、不显示cmd命令黑窗口一、启动1.新建.bat新建txt文件, 修改扩展名为.bat, 编辑内容2.bat编辑内容java -jar eureka11001.jar或start javaw -jar eureka11001.jar启动过程中需要保证jar包配置的端口号唯一,否则会失败。eureka11001.jar表示要启动的jar包。 .bat文件需要和原创 2022-04-12 16:58:14 · 2602 阅读 · 0 评论 -
Windows下载配置Tomcat
Windows下载配置Tomcat原创 2022-04-07 15:32:28 · 1240 阅读 · 0 评论 -
get请求, 参数中包含url地址, urlEncode相关问题处理
url请求参数值进行urlEncode, 可解决下列异常,当然也能解决参数值含有其他特殊符号的问题情况一:参数中url的参数丢失package com.xxxxx.controller;import io.swagger.annotations.Api;import org.springframework.web.bind.annotation.*;@RestController@RequestMapping(path = "v1/test")@Api(value = "测试接口", ta原创 2022-03-03 10:10:25 · 2709 阅读 · 3 评论 -
spring cloud、gradle、父子项目、微服务框架搭建---总章目录
spring cloud、gradle、父子项目、微服务框架搭建原创 2021-09-02 15:57:15 · 821 阅读 · 0 评论 -
spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eureka注册中心(二)
总目录https://preparedata.blog.csdn.net/article/details/120062997一、新建一个父级gradl模块1.在桌面或新建文件里面,右键,打开IDEA选择Flie > NEW > Module选择Gradle, 选择Module SDK 1.8, 选择Java创建完成后,idea中会多出一个项目,如下图示例然后直接关闭当前idea, 进入刚才创建好的文件下,再次打开项目可以直接删除src目录二、新建子级gradl原创 2021-09-03 16:27:09 · 1142 阅读 · 0 评论 -
spring cloud、gradle、父子项目、微服务框架搭建---搭建Eureka注册中心(一)
总目录https://blog.csdn.net/sinat_16998945/article/details/120062997一、新建一个父级gradl模块1.在桌面或新建文件里面,右键,打开IDEA2. 选择Flie > NEW > Module选择Gradle, 选择Module SDK 1.8, 选择Java创建完成后,idea中会多出一个项目,如下图示例然后直接关闭当前idea, 进入刚才创建好的文件下,使用idea再次打开项目打开后,可以直接删除src目原创 2021-09-02 16:44:12 · 831 阅读 · 0 评论 -
对称加密(DES、3DES、AES)、非对称加密(RSA、SHA1withRSA)
对称加密(DES、3DES、AES)、非对称加密(RSA、SHA1withRSA)原创 2019-07-04 18:02:04 · 3267 阅读 · 0 评论 -
3DES(DESede、Triple-DES、DES-EDE) 加解密 JAVA
3DES、DESede、Triple-DES、DES-EDE名称相互都是别名一、java加解密代码默认模式为:DESede/ECB/PKCS5Paddingpackage com.pd.shop.utils;import org.apache.tomcat.util.codec.binary.Base64;import javax.crypto.*;import javax.crypto.spec.DESedeKeySpec;import java.security.Key;import原创 2021-08-24 16:26:14 · 818 阅读 · 0 评论 -
Java-Stream Collectors.toMap() list转map
Java-Stream Collectors.toMap() list转map一、list转mapList<UserInfoDetailVo> userList = new ArrayList<>();//userInfo字段 id主键; nickname名称; className班级名称; age年龄; sex性别; money零花钱userList.add(new UserInfoDetailVo(1L,"李明","一年级一班", 7,"男",new Big原创 2021-08-20 15:41:48 · 583 阅读 · 0 评论 -
接口返回统一数据格式
前端与后端服务分离时,后端服务常常需要定义统一的数据格式以下面的json格式为例{ "code": 1, "msg": "成功", "data": [ { "id": null, "nickname": "小明", "sex": null }, { "id": null, "nickname": "小红", "sex": null } ]}code:请求状态msg: 请求状态原创 2021-03-27 09:21:21 · 1153 阅读 · 0 评论 -
spring cloud 统一异常处理及捕获异常
程序开发过程中各种各样运行时异常,有时是无法预测的,有时是应业务需要的特殊异常对于不同的异常有时需要特别是处理异常处理中需要用到的注解@ExceptionHandler:处理某一类异常@ControllerAdvice:异常集中处理,更好的使业务逻辑与异常处理剥离开@ResponseStatus: 可以指定异常响应的HTTP状态码一、定义全局异常捕获类package com.pd.shop.exception;import lombok.extern.slf4j.Slf4j;impor原创 2021-03-12 18:09:41 · 789 阅读 · 1 评论 -
enums枚举 常用写法及调用
枚举是一个特殊的类,类一样可以用自己的变量、方法和构造函数,构造函数只能使用 private 访问修饰符一、常用写法package com.pd.shop.enums;public enum DefaultStatusEnum { /** * 否;禁用 */ NO(0, "否"), /** * 是;启用 */ YES(1, "是"), ; DefaultStatusEnum(Integer status, St原创 2021-03-11 16:13:57 · 1004 阅读 · 0 评论 -
泛型 static <T> 用法
泛型 static 用法public Result<T> test(){ return null; }public <T> Result<T> test(){ return null; }public static <T> Result<T> test(){ return null; }第一次没理解上面非静态方法可有或可无, 静态方法必须有,此次总结一下一、定义方法代码示例package com.pd.shop.common;原创 2021-03-11 15:22:00 · 7055 阅读 · 0 评论 -
JAVA 整理常用注解说明
整理常用注解,及说明package org.springframework.boot.autoconfigure注解说明@SpringBootApplicationSpringBoot项目程序启动入口配置,是一个复合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScanpackage org.springframework.cloud.client注解说明@Spring原创 2021-03-08 16:57:37 · 294 阅读 · 0 评论 -
spring cloud 配置 redis、定义redis工具类
一、引入redis工具依赖在build.gradle文件中的dependencies的对象中引入依赖compile 'org.springframework.boot:spring-boot-starter-data-redis-reactive'二、application.xml配置redisspring redis: database: #Redis数据库索引(默认为0) host: #Redis服务器地址,请替换为自原创 2021-03-02 18:17:13 · 2453 阅读 · 0 评论 -
spring cloud 配置ELK、ELK创建索引
ELK服务部署参考:https://preparedata.blog.csdn.net/article/details/113386835当ELK服务安装成功后,进行下面spring cloud 配置ELK一、引入logstash依赖在build.gradle文件中的dependencies的对象中引入依赖compile 'net.logstash.logback:logstash-logback-encoder:5.2'二、application.xml配置logstashspring:原创 2021-02-18 10:19:26 · 2175 阅读 · 4 评论 -
Spring cloud 引入MyBatis-Plus
MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。一、引入MyBatis-Plus依赖在build.gradle文件中的dependencies的对象中引入依赖implementation 'com.baomidou:mybatis-plus-boot-starter:3.4.2'引入MyBatis-Plus之后请不要再次引入MyBatis以及MyBatis-Spring,以避免因版本差异导致的问题。二、applicat原创 2021-02-02 14:16:52 · 928 阅读 · 1 评论 -
windows 安装ELK日志系统
ELK是ElasticSearch、Logstash、Kibana简写Logstash:能够进行日志采集、转换和传输数据Elasticsearch:可以进行快速搜索日志引擎Kibana:主要用于web页面展示一、Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch下载:https://www.elastic.co/cn/downloads/elasticsearchwindows下载:https://artifacts原创 2021-01-29 15:13:31 · 338 阅读 · 0 评论 -
spring cloud 引入swagger
一、引入依赖在build.gradle文件中的dependencies的对象中引入依赖compile 'io.springfox:springfox-swagger2:2.9.2'compile 'io.springfox:springfox-swagger-ui:2.9.2'二、应用启动类,添加注解@EnableSwagger2@EnableSwagger2@SpringBootApplicationpublic class ShopApplication { public原创 2021-01-28 11:54:48 · 774 阅读 · 0 评论 -
spring cloud gradle mybatis
一、引入依赖在build.gradle文件中的dependencies的对象中引入依赖implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4'二、配置数据库及mybatis在application.yml文件中配置数据库spring: datasource: url: jdbc:mysql://192.168.0.1:3306/dbName?useUnicode=true&charac原创 2021-01-28 11:17:08 · 333 阅读 · 0 评论 -
application.yml 和 application.propertise 配置不生效
用IDEA初始化完spring项目后,手动将application.propertise 命名成 application.yml然后我再去配置端口号,发现端口号不生效,始终都是默认的8080费了好大劲才找到不生效的原因,是因为改名解决办法1.关闭IDEA2.删除项目目录下的.idea3.IDEA从新打开项目,运行。在此记录一下...原创 2021-01-04 18:02:37 · 484 阅读 · 0 评论 -
String... 可变长度参数列表
一次看到String…时,这是什么语法,查找资料后,原来它叫可变长度参数列表String…1.参数类型是String;2.参数个数有0个,或多个; String…可以类比成数组String[],数组长度不定(长度可以是0,也可以大于0)public class DemoController { public void test(String aa){ run(); run("a"); run("a","b"); run("原创 2020-07-06 18:32:02 · 976 阅读 · 0 评论 -
Hibernate Validator 校验注解
Hibernate Validator 校验注解:自定义消息上面约束都都默认约束违规消息,当然我们也可以自定义。@NotNull(message = “name不为空”)private String name;@Min(value = 2,message = “count最小值应为{value}”)private int count;单个参数约束public void test2(@NotNull @Future Date startDate,@Min(1) int count) {原创 2020-07-06 18:27:09 · 863 阅读 · 0 评论 -
工厂模式-微信支付、支付宝支付
工厂模式-微信支付、支付宝支付当我们做支付项目时,常常项目中需要接入多种支付方式(微信、支付宝、银联等)。其实这些支付方式,都存在一些类似的业务接口,比如支付、查询、退款等等。区别就在于每一家参数不一致(参数名不一致)。我们可以利用工厂模式将支付厂商封装起来。利用工厂模式,我们可以更方便的选择支付方式接口。下面代码仅仅是结构,暂无具体的支付实现,下面代码以java代码为例,工厂模式与编程语言无关,其他编程语言也可以,如C# , Go代码中类似ResultCreatePay、CreatePayP原创 2020-06-29 21:44:59 · 2208 阅读 · 5 评论