2 爱叨叨的程序狗

尚未进行身份认证

我要认证

刚入行的小白,希望能通过CSDN学习、成长!

等级
TA的排名 20w+

@Builder建造者模式

建造者模式:1、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2、主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。3、如何使用:用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)4、解决的问题:(1)、方便用户创建复杂的对象(不需要知道实现过程)(2)、代码复用性 & 封装性(将对象构建过程和细节进行封装 & 复用)5、注意事项:与工厂模式的区别是:建造者模式更加

2020-10-24 17:22:43

jackson第二篇

一、从URL读取JSON数据请求远程的API,获得远程服务的JSON响应结果,并将其转换为Java POJO对象。@Testvoid testURL() throws IOException { URL url = new URL("https://jsonplaceholder.typicode.com/posts/1"); //远程服务URL ObjectMapper mapper = new ObjectMapper(); //从URL获取JSON响应数据,并反序列化为java 对

2020-10-08 20:53:30

Jackson第一篇

基础准备Spring中已引入jackson相关依赖,无须在pom中再引入相关依赖,若再引入相关依赖,则会报错创建bean异常。使用写一个PlayerStar的实体类,实体类主要体现篮球明星的名字、年龄、业余爱好、朋友、年收入等信息,为了尽可能地演示Jackson的序列化与反序列化功能,将数组、List、Map都融合到这个类里面。并通过getInstance初始化篮球明星Jordan这个对象。@Datapublic class PlayerStar { private String name;

2020-10-08 10:23:04

HTTP对接方式

HTTP对接方式对接HTTP接口主要有两种方式使用httpUtil方式使用RestTempalate方式一、HTTP方式当前方式主要是通过构造HTTP请求进行对第三方接口进行调用,返回JSON数据,为了方便起见可以使用HTTPUtil对常用的请求方式进行封装,在进行调用时直接传参构造请求即可。HTTPUtils方式之Get请求 @Test void test() throws IOException { String url; String

2020-10-05 16:33:01

bean无法注入(与文件包位置有关)及修改包项目、model名

1.修改项目名show in explorer:找到项目所在本地的文件夹,先不要用IDEA打开项目给本地文件夹重命名(Intelligent-inspection),使用IDEA打开项目这时候会这样显示,这是因为pom文件中的名称与文件夹名称不同导致的,在最外层项目中修改项目名称与文件夹名称一致。问题解决此时刷新pom,会发现其子模块会报红,这是因为修改了父pom的名称,其子pom中使用了这个标签,由于名称不一致,所以子pom无法找到父pom,打开父pom,修改pom文件中的artifact

2020-09-26 19:41:08

Java8 Collectors.toMap的key重复

**Map<String, BottomAccount> map = bottomAccountList.stream().collect(Collectors.toMap(BottomAccount::getGoodName, Function.identity()));如这个地方,如果使用GoodName为map的key,货物名称有可能会重复,这时候就会报Duplicate Key的问题,其实是map的key重复了,首先查看源码:显而易见,throwingMerger()是一个出现

2020-09-23 20:23:27

UnsatisfiedDependencyException

UnsatisfiedDependencyException(无法启动):has been injected into other beans [xxx] in its raw version as part of a circular reference问题出现的原因1、原因: AdminServiceImpl 类中注入了 IPlateDeclareService , 而在 IPlateDeclareService 类中也注入了 IPlateDeclareService ,从而引起该异常。 (循环引

2020-09-17 14:32:52

org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, “xxxx“)] with root cause

在使用MyBatis时,遇到这样的问题:org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "name")] with root cause <select id="getTotal" resultType="java.lang.Long"> select count(*) from employee e <where> <

2020-09-05 14:46:18

yum安装与配置 Tomcat

一.使用yum命令安装tomcatyum -y install tomcat二.查看tomcat是否安装成功rpm -q tomcat如果出现类似的输出则说明安装成功三.配置环境变量Tomcat默认安装路径/usr/share/tomcat/配置tomcat的环境变量使用vim命令编辑/etc/profilevim /etc/profile在该文件的末尾处增加tomcat的环境变量CATALINA_BASE=/usr/share/tomcatCATALINA_HOME=/

2020-09-02 22:11:30

Java - CentOS下JDK的安装与配置

Java - CentOS下JDK的安装在 CentOS 7 系统中安装 jdk 通常有如下几种方式:手动下载安装包解压进行安装通过 yum 安装以及使用使用 rpm 安装本文演示如何通过 yum 进行安装执行如下命令搜索 jdk 安装包yum search java|grep jdk选择JDK1.8版本进行安装yum install java-1.8.0-openjdk安装完成后输入java -vsersion检查是否安装成功默认安装完只有运行环境,也就说 jav

2020-09-02 15:23:01

Spring中@Component和@Bean

Spring管理Bean的方式注册Bean装配BeanSpring实现管理的方式自动配置(隐式)使用JavaConfig的方式(显式)使用XML配置的方式(显式)引用自:《Spring实战(第四版)》自动配置:让Spring自动满足bean依赖的一种方法,在满足依赖的过程中,会在Spring上下文中寻找匹配的某个bean需求的其他Bean。Spring从两个角度来实现自动配置组件扫描(component):Spriing自动发现应用上下文中所创建的bean自动装配(aut

2020-08-30 20:07:02

前端表单提交String类型数据后端转日期数据

前端表单提交String类型数据后端转日期数据前端传入String类型的日期参数时,需要将每个日期类型转换为Date类型。解决方案在实体Date类型字段的数据上加@JsonFormat注解@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")使用String转Date类型的工具类,并使用@Component将其注册为组件(要跟controller的父目录同级)/** * 日期转换工具 */@Componentpublic clas

2020-08-29 22:46:13

HttpMessageNotReadableException反序列化失败

HttpMessageNotReadableExceptionHttpMessageNotReadableException大概就是 前端页面传过来的参数与你controller接收的参数类型不匹配json反序列化失败第一:参数名和参数一定要匹配正确第二:@RequestBody要加在对应需要的参数上...

2020-08-29 18:54:25

MySQL优化以及索引的使用

MySQL优化选取最适用的字段长度MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。使用连接(JOIN)来代替子查询(Sub-Queries)使用事务锁定表优化SQL语句 SQL语句优化的41条建议是否请求了不需要的数据拆分复杂查询,不方便掌握其性能改写子查询,使用连接查询优化关联查询确保on/where语句中的列上有索引.确保

2020-08-18 22:57:30

Java基本集合介绍

Java中的集合Java中的集合被称为容器,常用的List/Map集合都继承自Collection接口.下面是我使用xmind来描述它们.

2020-08-18 20:04:29

SpringBoot定时任务

实现定时任务的两种方式使用 Spring 自带的定时任务处理器 @Scheduled 注解使用:添加 web 依赖 spring-boot-starter-web@SpringBootApplication@EnableSchedulingpublic class ScheduledApplication { public static void main(String[] args) { SpringApplication.run(ScheduledApplicatio

2020-08-12 21:52:59

Spring Security安全

安全如果添加了Spring Security的依赖,那么web应用默认对所有的HTTP路径(也称为终点,端点,表示API的具体网址)使用’basic’认证。为了给web应用添加方法级别(method-level)的保护,可以添加@EnableGlobalMethodSecurity并使用想要的设置。默认的AuthenticationManager只有一个用户('user’的用户名和随机密码会在应用启动时以INFO日志级别打印出来),如下:Using default security password:

2020-08-11 20:51:47

SpringBoot学习五:错误处理、跨域支持

1.SpringBoot错误产生Spring Boot默认提供一个/error映射用来以合适的方式处理所有的错误,并将它注册为servlet容器中全局的错误页面。当出现一个错误信息时,会产生一个具有详细错误、HTTP状态,异常信息的JSON相应。具体到页面上,会产生一个错误视图。出现该页面是因为代码中出现了运行时异常,如果代码中指定/error 路径,实现ErrorController,并注册一个该类型的bean定义,或简单地添加一个ErrorAttributes类型的bean以使用现存的机制,只是替

2020-08-10 21:36:48

SpringBoot学习四:日志框架、SpringBoot自动化配置

SpringBoot的日志模块选择SpringBoot底层选择的日志抽象层是@Slf4j,日志的实现是Logback。日志的使用public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info("Hello World"); }}如果在使用了Lombok的话,可以使

2020-08-09 21:21:53

Spring Boot 学习三:静态资源、整合 Thymeleaf 页面模板、@RestControllerAdvice

1.静态资源在 Spring Boot 中,默认情况下,一共有5个位置可以放静态资源,五个路径分别是如下:classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public/2.整合ThymeleafThymeleaf 是支持HTML的 Java 模板引擎,它类似于 Velocity、FreeMarker 等传统 Java 模板引擎。Thymeleaf 模板后缀为 .html,可以直接被

2020-08-08 21:47:09

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。