自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 SSM开发常用依赖、注解说明小手册(随着自己的学习而更新!)

常用依赖spring依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version></dependency>mysql依赖<!--mysql驱动--><dependency

2021-05-15 15:43:40 167

原创 数学思维:原理

原理如果你理解了一个过程的原理,而不是仅仅记住整个过程,你就能更有效地控制这个过程,一旦出现问题,你也可以进行一定的修改来解决问题。应对极端情况比如如果你的朋友对小麦过敏,如果你能知道烤蛋糕的原理,知道土豆粉其实也可以代替小麦粉,那么就可以用土豆粉来为你的朋友烤一份不带小麦粉的蛋糕。或者如果你想做一个低脂蛋糕,那么你就得明白脂肪在蛋糕中扮演什么样的角色,比如制造气泡。乘法表也是一样的,你如果知道了乘法表里的原理,那么即使你忘记了?*3=12,你依然可以用12/3=4来得出?中的值。发挥过程中每一种东

2021-12-28 20:20:53 264

原创 数学思维:抽象

抽象抽象是蓝图抽象化就是致力于找到不同的对象之间的相似之处,比如很多时候你只需要一个食谱,食谱中规定了一种烹饪的大体烹饪方法,然后你可以自己选材。比如,等边三角形,每个角标记为角1,角2,角3。那么这个三角形是怎么对称的?假设一开始从左下角的角到顶角再到右下角的角顺序为角1,角2,角3。那么按逆时针120°旋转后,顺序变为角2,角3,角1。所以等边三角形的对称性描述和123数字的排序的研究方法是一致的。抽象就是收起你不需要的东西。比如:我买了2张邮票,每张36元,那么我一共花了多少钱?我们可以忽

2021-12-27 19:18:21 862

原创 金融世界观

金融世界观时间的价值金融工具:把时间转变成财富总结时间的价值只要活在时间的河流里,就一定会和金融发生关系。90年代的时候,美国的汽车市场已经饱和了,有的厂不惜下血本打折但是还是没有什么用。这时有人就提出了,买一辆一万美金的车,送你一万美金的债券,此时车行就火爆了,很多不打算买车的也纷纷来买。但是这里就有个问题了,送你的不是一万美金现金,是一个30年期的折价国债。折算下来,这个债券只有994美金。这意味着在30年里,一万美金被时间折掉了9000多美金。所以这就是金融里最基础也很重要的一个概念,叫“货币的

2021-06-09 16:15:52 277

原创 SpringMVC学习(三)SpringMVC原理简单解析

一边学习狂神Java说一边记录自己的学习经过,文章里有自己学习的理解和扩展,大部分是自己不懂又去扩展了的内容,所以和狂神自己的笔记和课程可能会有一些不一样,新手难免有理解偏差或者错误,恳请大佬指正。SpringMVC学习(三)SpringMVC原理简单解析SpringMVC原理SpringMVC原理图中实线为SpringMVC帮我们做的,虚线为需要我们自己做的分析该图中的流程:1.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,Dispatch

2021-05-27 20:53:27 146 1

原创 SpringMVC学习(二)初识SpringMVC

一边学习狂神Java说一边记录自己的学习经过,文章里有自己学习的理解和扩展,大部分是自己不懂又去扩展了的内容,所以和狂神自己的笔记和课程可能会有一些不一样,新手难免有理解偏差或者错误,恳请大佬指正。SpringMVC学习(二)初识SpringMVC什么是SpringMVC?中心控制器快速搭建一个springmvc小结什么是SpringMVC?Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。SpringMVC的特点:轻量级,简单易学高效

2021-05-25 20:30:44 165

原创 SpringMVC学习(一)学习SpringMVC前的一些回顾和学习

一边学习狂神Java说一边记录自己的学习经过,文章里有自己学习的理解和扩展,大部分是自己不懂又去扩展了的内容,所以和狂神自己的笔记和课程可能会有一些不一样,新手难免有理解偏差或者错误,恳请大佬指正。SpringMVC学习(一)学习SpringMVC前的一些回顾和学习MVC回顾什么是MVC?Model(模型)View(视图)Controller(控制器)SSM中常见的文件夹类型daomapperpojoservicecontrollerwebSSM中每层的作用流程图Servlet简单实现web的流程新建项目

2021-05-22 10:34:09 310 4

原创 SpringBoot学习(一)初识SpringBoot

SpringBoot学习(一)初识SpringBootSpringBootspringboot是什么什么是springspring是如何简化开发的?springboot第一个spingboot程序SpringBootspring再简化:SpringBoot-jar:内嵌tomacat;微服务架构!springboot是什么什么是springspring是一个为了解决企业级应用开发的复杂性而创建的,简化开发spring是如何简化开发的?为了降低Java开发的复杂性,Spring提供了以下四种关

2021-05-19 20:02:41 638 1

原创 Spring学习(十)Spring事务管理

Spring学习(十)Spring事务管理声明式事务回顾事务实战准备,先整合spring和mybatisspring中的事务管理声明式事务:通过AOP技术实现事务的管理编程式事务:需要在代码中进行事务的管理本章节代码声明式事务回顾事务把一组业务当成一个业务来做,要么都成功,要么都失败!事务在项目开发中十分重要,涉及到数据的一致性问题!确保完整性和一致性、事务的ACID原则:原子性不可分割,一组事务不可被分割,要么都完成,要么都不完成一致性保证从一个正确的状态,迁移到另一个正

2021-05-19 10:52:23 182 1

原创 Spring学习(九)Spring整合Mybatis

Spring学习(九)Spring整合Mybatisspring整合mybatismybatis使用步骤mybatis整合整合方式一整合方式二 sqlSessionDaoSupport本章节代码spring整合mybatis导入相关jar包junitmybatismysqlspringaop织入mybatis-springlombok【非必要】mybatis使用步骤这部分不理解的可以先去学习mybatis:mybatis专栏编写实体类package com.hj.pojo;

2021-05-18 20:15:03 203 2

原创 Spring学习(八)Spring AOP

Spring学习(八)Spring AOPSpring AOPAOP大白话什么是AOP?AOP在Spring中的作用Spring AOP实战实现方式一:使用spring的API接口实现实现方式二:使用自定义类来实现实现方式三:使用注解实现小结本章节代码Spring AOP在学习Spring AOP之前,需要先学习Java的代理设计模式。详细可以参考:设计模式之代理模式(静态代理、Java动态代理、Cglib动态代理)。代理模式的优点:可以使得真实角色的操作更加纯粹,不需要去关注一些公共的业务公共

2021-05-16 15:49:01 175

原创 使用spring aop测试的时候出现BeanNotOfRequiredTypeException错误

在使用aop给UserServiceImpl增加日志功能的时候,测试时出现如下错误:测试代码为:public class MyTest { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); UserServiceImpl user

2021-05-16 11:29:29 716

原创 Spring学习(七)Spring IOC中的注解开发

Spring学习(七)Spring IOC中的注解开发spring IOC中的注解开发@Autoware@Resource注解@Nullable@Component@Configuration小结spring IOC中的注解开发JDK1.5支持了注解,spring2.5就支持注解了。然后如果是在spring4之后,还需要导入aop的包才能使用注解开发。要使用注解: 文档1.9:1.导入context注解约束:xmlns:context="http://www.springframework.org/

2021-05-15 15:20:43 164 1

原创 Spring学习(六)Bean的作用域和自动装配

Spring学习(六)Bean的作用域和自动装配Spring中Bean的作用域和自动装配Bean的作用域scopes自动装配bean隐式自动装配 byName隐式自动装配 byType小结Spring中Bean的作用域和自动装配Bean的作用域scopesScope描述singleton单例模式的实现,无论你get多少次bean,都只有一个实例。prototype原型模式的实现,每次getbean出来的实例都是不同的实例。request在一次请求中存在,请求结束了

2021-05-15 13:54:18 150 1

原创 Spring学习(五)DI依赖注入

Spring学习(五)DI依赖注入Spring DI依赖注入基于构造函数的依赖注入基于Setter的依赖注入【重点】扩展方式注入P命名空间注入C命名空间注入Spring DI依赖注入Spring DI依赖注入,看其官方文档:spring中文文档 中可以看到有两种:基于构造函数的依赖注入和基于Setter的依赖注入。基于构造函数的依赖注入这部分的内容在 Spring学习(三)Spring容器是如何创建对象的 中有提到过。具体的就不再描述了。这不是重点,可以发现构造器的依赖注入十分有限。重点还是在基于

2021-05-14 21:15:38 216 7

原创 Spring学习(四)Spring配置文件常用内容

Spring学习(四)Spring配置文件常用内容spring配置别名Bean的配置import导入本章节代码spring配置首先我们的基础文件和上一节是一样的://实体类 src/main/java/com/hj/pojo/User.javapublic class User { private String name; public User(String name){ this.name=name; System.out.println("Use

2021-05-14 20:02:53 170

原创 Spring学习(三)Spring容器是如何创建对象的

Spring学习(三)Spring容器是如何创建对象的spring容器是如何创建对象的默认情况下是使用类的无参构造器创建的spring使用有参构造器创建对象总结spring容器是如何创建对象的默认情况下是使用类的无参构造器创建的我们继续创建一个工程。实体类User.javapackage com.hj.pojo;public class User { private String name; public User(){ System.out.println("

2021-05-13 17:15:06 518 3

原创 Spring学习(二)Spring IOC 和容器

Spring IOC容器IOC控制反转,不是一种技术,而是一种设计思想,就是将原本在程序中手动创建对象的控制权,交给Spring框架来管理。区别:没有IOC的思路:若要使用某个对象,就必须自己负责去写对象的创建IOC的思路:若要使用某个对象,只需要从Spring容器中获取需要使用的对象,不关心对象的创建过程,也就是把创建对象的控制权交给了Spring框架。好莱坞法则:Don’t call me, I 'll call you举例说明:做菜,做蒜薹炒猪肉你有两种做法:第一种,自己养猪,

2021-05-12 10:42:41 234

原创 Spring学习(一)初识Spring

记录自己在spring中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。学习资料来源于itnanls。Spring学习(一)初识Springspring常用术语spring的优势spring能帮我们做什么spring的框架结构spring框架是Java应用最广的框架,它的理念包括IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)spring常用术语框架:是能完成一定功能的半

2021-05-10 10:14:21 118

原创 设计模式之代理模式(静态代理、Java动态代理、Cglib动态代理)

代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。Java代理模式2 Java 代理模式2.1 静态代理小结2.2 动态代理2.2.1 JDK原生的动态代理2.2.2 cglib动态代理小结2 Java 代理模式代理模式就是有一个张三,别人都没有办法找到他,只有他的秘书可以找到他。那其他人想和张三交互,只能通过他的秘书来进行转达交互。这个秘书就是代理者,他代理张三。再看看另一个例子:卖房子

2021-05-05 11:03:45 279

原创 设计模式之工厂(简单工厂模式、工厂方法模式、抽象工厂模式)

简单工厂模式、工厂方法模式、抽象工厂模式都属于创建型模式。创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。就像我们去商场购买商品时,不需要知道商品是怎么生产出来一样,因为它们由专门的厂商生产。工厂设计模式1 工厂设计模式1.1 简单工厂设计模式简易代码一览小结优点缺点应用场景1.2 工厂方法模式简易代码一览小结优点:缺点:应用场景:1.3 抽象工厂模式简易代码一览小结1 工厂设计

2021-05-04 14:08:58 99

原创 equals判断字符串相等的时候常量要放左边来避免空指针异常

比如我有一个String类型的变量color。我现在要判断这个color是否为红色。就应该这么写:if ("red".equals(color)){ ... }这样做的好处是即使color变量为null也不会报空指针异常。如果是if (color.equals("red")){ ... }这种写法,则color为null的时候会出现空指针异常NullPointerException。...

2021-05-02 16:27:06 892

原创 IDEA快速生成注释文档

IDEA提供了快捷方式来生成指定的代码。首先我们要编写好代码的模板。打开IDEA的settings-Editor-Live Templates。点击右边的+号。选择Template Group。这里我用的Java作为Template Group名,然后在选中刚刚创建的Template Group,再点击右边的+号,这次选Live Template。然后就进入了如下界面。界面中Abbreviation是我们要识别的快捷键,这里我填了个m,Description是对该快捷键的描述。Template t

2021-05-02 10:39:22 615

原创 设计模式的六大原则

简单设计模式六大原则单一原则(Single Responsibility Principle):一个类或者一个方法只负责一项职责不同角度看可能不算单一,比如你在红警中,造车就是一个单一职责,但是你对做车的来说,这就不是一个单一职责,就可能还要分为造轮子、造车门。里氏替换原则(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能依赖倒置原则(dependence inversion principle):面向接口编程(通过接

2021-05-02 09:49:12 93 1

原创 Java中,面向对象、面向过程、面向接口编程的理解

面向过程编程面向过程是一种以事件流程为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后一步一步地按步骤编写代码实现。面向对象编程在日常生活中,许多事情是可以被抽象出来的,对于某个具体的人或事物,都可以看作是一个对象,每个对象都有自己的属性和行为,对象和对象之间也可以通过方法来交互。面向对象是一种以对象为中心的编程思想,把要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为。关于接口的理解接口从更深层次的理解,应是定义(规范、

2021-04-28 09:30:15 497 1

原创 Mybatis的getMapper()后到底获得了些什么?

来看一个例子。比如如下的接口方法public interface UserMapper { List<User> getUserList(); User getUserById(int id);}和其对应的mapper.xml文件里的内容 <select id="getUserList" resultType="com.hj.pojo.User"> select * from mybatis.user </select>

2021-04-23 10:34:49 624

原创 MyBatis 分页

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。MyBatis 分页Java MyBatis 分页为什么要分页?limit分页mybatis中使用limit分页RowBounds分页分页插件 PageHelper本章代码Java MyBatis 分页为什么要分页?减少数据的处理量用户也不可能一次性看海量的数据,都想聚焦着看limit分页# 语法:select * from user limit startIndex,pageSi

2021-04-22 16:54:21 102

原创 MyBatis 日志

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。MyBatis 日志日志1.1 日志工厂STDOUT_LOGGING输出LOG4J输出如何使用LOG4J?log4j简单使用本章代码日志1.1 日志工厂如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手!曾经是直接输出或者debug现在可以使用日志来排错了还记得Mybatis的setting标签里的logImpl吗,那就是mybatis的日志工厂,logImpl中的属性值

2021-04-21 15:31:40 101

原创 IDEA打不开.log文件解决方法(对其他类型文件也有效)

IDEA有的时候无法打开一些后缀的文件,我们可以在settings-Editor-File Types中添加我们想要打开的文件类型。然后输入新文件类型的类型名和描述。最后把该文件的后缀添加到识别中去。像如图我们把*.log加入到我们刚刚新建的日志文件类型中去。重新回到IDEA打开.log文件,发现上面出现这样一行信息,点击install plugins就可以安装log文件的插件了(虽然你不点也已经可以显示了)...

2021-04-21 14:48:08 1996

原创 MyBatis ResultMap结果集映射简单使用

解决的问题ResultMap结果映射是为了解决实体类属性名和数据库字段名不一致的问题。首先我们准备一个和数据库字段名不一致的实体类。package com.hj.pojo;public class User { private int id; private String name; private String password; public User() { } public User(int id, String name, String pa

2021-04-20 10:27:44 155

原创 MyBatis SqlSession相关的生命周期和作用域

这回是学习一下SqlSession中一些相关的作用域和生命周期作用域和生命周期生命周期和作用域是至关重要的,因为错误的使用会导致非常严重的并发问题。一个mybatis的执行流程如下图所示。SqlSessionFactoryBuilder:一旦创建了SqlSessionFactory,就不需要它了。所以比较适合在局部变量中创建。SqlSessionFactory:相当于数据库的连接池。SqlSessionFactory一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创

2021-04-20 09:17:42 1224 3

原创 MyBatis学习(三)之MyBatis 进阶

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。Java自学 MyBatis 进阶1.万能的map思考题:模糊查询怎么写?再思考:Mybatis是怎么防止sql注入的?本小节代码2.配置解析对于核心配置文件对于配置环境(environments)对于属性(properties)对于类型别名(typeAliases)对于设置(settings)对于映射器(mappers)其他配置本小节代码继承上一次学习的代码。1.万能的map如果类的种类特

2021-04-18 15:23:09 151

原创 一些mybatis使用的小知识(易错点)

标签不要匹配错误接口和接口对应的mapper文件要匹配。namespace里一定要是全限定名。CRUD里面id要和对应接口的方法名一致。resources的mybatis核心配置文件没有注册接口对应的mapper文件。每一个接口的方法对应的mapper.xml文件都要再Mybatis核心配置文件里<mappers>标签里进行注册。程序配置文件要符合规范(注意顺序要求)-----------------------配置文件顶部-------------------------------

2021-04-17 20:53:12 106

原创 MyBatis学习(二)之MyBatis 增删改查CRUD的实现。

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。Java自学 MyBatis CRUDMyBatis的CRUD1.1 namespace1.2 select1.3 insert1.4 update总结在16. Java MyBatis的基础上,进行CRUD的学习。MyBatis的CRUD1.1 namespace在mapper.xml文件中的namespace的包名要和Dao/Mapper接口的包名一致!即<mapper nam

2021-04-17 20:38:41 148

原创 MyBatis学习(一)之初探MyBatis大体结构与简单实现

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。Java自学 MyBatisJava MyBatis1 简介1.1什么是MyBatis1.2持久化1.3持久层1.4为什么需要Mybatis?2 Mybatis实战2.1搭建环境2.2创建模块2.3编写代码2.4测试3 对于其中的类的作用域和生命周期4 总结:Java MyBatis环境:JDK1.8Mysql 5.7maven 3.6.1IDEASSM框架:配置文件,最好的方式

2021-04-17 15:01:36 149

原创 Mybatis出现1字节的UTF-8序列的字节1 无效错误

Mybatis出现1字节的UTF-8序列的字节1 无效错误。是因为xml文件中有出现中文。解决方法如下:1.删除所有xml中的中文2.将xml文件最顶上的<?xml version="1.0" encoding="UTF-8" ?>改成<?xml version="1.0" encoding="UTF8" ?>就可以了...

2021-04-16 16:33:28 276

原创 Mybatis出现org.apache.ibatis.binding.BindingException: Type interface com.hj.dao.UserDao is not known

Mybatis出现org.apache.ibatis.binding.BindingException: Type interface com.hj.dao.UserDao is not known绑定异常!类型接口在接口里是未知的!在核心配置文件里缺少了<mappers>在核心配置文件config.xml的<configuration>标签里面的最下面添加如下代码: <mappers> <mapper resource="com.h

2021-04-16 09:55:02 574

原创 IDEA连接mysql数据库出现Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope

IDEA连接mysql数据库出现Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually.报错意思是服务器返回了无效时区。也就是我们的数据库返回了无效的时区。如图所示:报错中显示让我们去Advanced下的serverTimezone看看。那我们就打开Advanced看看可以看到这里显示的时域为空的,我们填入Asia/Shanghai 搞定。注意这里可以点一下

2021-04-15 15:50:03 255

原创 Maven的简单创建

Maven简单创建为什么需要这个技术?1.在Javaweb开发中,需要使用大量的jar包,手动导入效率低下而且容易出错2.如果能够让一个东西自动帮我们导入和配置这个jar包就好了所以,Maven诞生了。Maven 架构管理工具目前Maven就是用来方便导入jar包的Maven的核心思想:约定大于配置有约束,不要去违反Maven会规定好你该如何去编写java代码,必须按照这个规范来下载安装Maven去apache官网下载:http://maven.apache.org/downloa

2021-04-15 10:31:29 82

原创 Java自学(十四、Java反射)

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。Java自学(十四、Java反射)Java反射机制静态语言和动态语言Java反射机制概述Java反射机制提供的功能Java反射优点和缺点反射的主要API理解Class类并获取Class实例Class类Class类的常用方法获取Class类的实例哪些类型可以有Class对象?类的加载与ClassLoaderJava内存分析类的加载过程类的加载与ClassLoader的理解类的加载什么时候会发生类初始

2021-04-14 16:20:55 275

AI Challenger 2018美团评价数据集

数据集分为训练、验证、测试A与测试B四部分。数据集中的评价对象按照粒度不同划分为两个层次,层次一为粗粒度的评价对象,例如评论文本中涉及的服务、位置等要素;层次二为细粒度的情感对象,例如“服务”属性中的“服务人员态度”、“排队等候时间”等细粒度要素。

2021-05-08

Grokking the Coding Interview - Patterns for Coding Questions.zip

北美算法题。用于应对面试的算法题。

2021-04-02

空空如也

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

TA关注的人

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