07 2020 档案
摘要:java.util包提供了Date类来封装当前的⽇期和时间 构造函数 //当前时间 Date() //从1970年1⽉1⽇起的毫秒数作为参数 Date(long millisec) 常见方法 //返回⾃ 1970 年 1 ⽉ 1 ⽇ 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 l
阅读全文
摘要:VideoOrder.java 重写里面的equals和hashCode方法 class VideoOrder { private int price; private String title; public VideoOrder(String title, int price) { this.t
阅读全文
摘要:public static void main(String[] args) { // 1、字符串 String str = "*Constructs a new <tt>HashMap</tt> with the same mappings as the * specified <tt>Map</
阅读全文
摘要:导读 Mysql数据类型,点我直达 创建表 语法: create table 表名( 字段名1 字段类型2 约束条件1 说明1, 字段名2 字段类型2 约束条件2 说明2 ) 约束条件: comment 说明解释 not null 不为空 default 默认值 unsigned 无符号(即正数)
阅读全文
摘要:Objects工具类 jdk 1.7引进的工具类,都是静态调用的方法,jdk 1.8新增了部分方法 重点方法 equals 用于字符串和包装对象的比较,先比较内存地址,再比较值 deepEquals 数组的比较,先比较内存地址,再比较值,如String、char、byte、int数组,或者包装类型I
阅读全文
摘要:什么是Comparable public interface Comparable<T> { /** * Compares this object with the specified object for order. Returns a * negative integer, zero, or
阅读全文
摘要:Collections工具类 Java里关于聚合的工具类,包含有各种有关集合操作的静态多态方法,不能实例化(把构造函数私有化) public class Collections { // Suppresses default constructor, ensuring non-instantiabi
阅读全文
摘要:什么是迭代器 使用循环遍历集合 普通for循环 for(int i=0;i<10;i++){} 增强for循环 for(String str:list){} 什么是迭代器Iterator Iterator是Java中的一个接口,核心作用就是用来遍历容器的元素,当容器实现了Iterator接口后,可以
阅读全文
摘要:json转map Map<String, 实体类> titleMap=JSON.parseObject(JSON字符串, new TypeReference<HashMap<String, 实体类>>() {}); json转对象 Student student = JSON.parseObject
阅读全文
摘要:类注解 打开file->setting->Editor->File and Code Templates->Includes->File Header #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
阅读全文
摘要:App Store中搜索snailsvn 分付费(98元)和免费试用
阅读全文
摘要:什么是Set数据结构 Set相对于List是简单的一种集合,具有和Collection完全一样的接口,只是实现接口不同,Set不保存重复的元素,存储一组唯一,无序的对象 Set中的元素是不重复的,实现细节可以看Map,因为这些Set的实现都是对应的Map的一种封装。比如HashSet是对HashMa
阅读全文
摘要:Map基础介绍 什么是map数据结构 底层就是一个数组结构,数组中的每一项又是一个链表,即数组和链表的结合体 Table是数组,数组的元素时Entry Entry元素时一个key-value键值对,它持有一个指向下一个Entry元素的引用,table数组的每个entry元素同时也作为当前Entry链
阅读全文
摘要:内置异常和Throwable核心方法 Java内置异常 可查异常(必须要在方法里面捕获或者抛出) ClassNoFoundException 应⽤程序试图加载类,找不到对应的类 IllegalAccessException 拒绝访问⼀个类的时候 NoSuchFieldExcetion 请求的变量不存
阅读全文
摘要:集合容器主要用于保存对象,主要分类有三种List、Set、Map List有序、可重复的集合 常见的List有ArrayList、Vector、LinkedList等类 Set无序、不可重复 常见Set接口的实现类有HashSet、LinedHashSet、TreeSet Map键值对存储 常见的M
阅读全文
摘要:什么是散列表hash table和使用场景 什么是散列表 散列表(Hash table,也叫哈希表),是根据关键码值(key value)而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫散列表。 散列函数能使一个数据
阅读全文
摘要:功能介绍 客户端给所有在线用户发送消息 客户端给指定在线用户发送消息 服务器给客户端发送消息(轮询方式) 注意:socket只是实现一些简单的功能,具体的还需根据自身情况,代码稍微改造下 项目搭建 项目结构图 pom.xml <?xml version="1.0" encoding="UTF-8"?
阅读全文
摘要:InstanceOf关键字使用,什么是多态 InstanceOf关键字 是Java的一个二元操作符(运算符),也是Java的保留关键字 语法 //如果该object 是该class的⼀个实例,那⼀个实例,或者object是null,则返回falboolean result = object inst
阅读全文
摘要:什么是接口? 是抽象方法的集合,接口通常以interface来声明,一个类通过继承接口的方式,从而来继承接口的抽象方法 语法 interface 名称 [extends 其他的接⼝名] { // 声明变量 // 抽象⽅法 int getMoney(); } 接口的特点 接口的方法都是抽象方法,默认都
阅读全文
摘要:java 继承里面的super关键词 super关键词 一个引用变量,用于引用父类对象 父类和子类都具有相同的命名属性,要调用父类中的属性时使用 super也是父类的构造函数,格式super(参数) 注意点,调用super()必须是类构造函数中的第一个语句,否则编译不通过 注意 每个子类构造方法的第
阅读全文
摘要:static静态代码块和静态方法 static关键字 static修饰的方法或变量,优先于对象执行,所以内存会先有static修饰的内容,后有对象的内容 可以用来修饰类的成员方法、类的成员变量,还可以编写static静态代码块 修饰变量就是类变量,修饰方法就是类方法 总结:类变量或者类方法,可以直接
阅读全文
摘要:Java内置数据类型 计算机基础知识 bit 位 ,即0或者1, 0101010110 byte字节,8位作为⼀个字节,字节是处理数据的基本单位 1 byte = 8bits 1KB = 1024 bytes 1MB = 1024 KB 1GB = 1024 MB 八种基本数据类型 每个数据都需要从
阅读全文
摘要:maven依赖 <!--读取excel文件,配置POI框架的依赖--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency>
阅读全文
摘要:修饰符的作用是啥? 用来定义类、方法或者变量的访问权限 两大类 访问修饰符 限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符 private<default<protected<public 非访问修饰符 例如static、final、abstract、synchronized等 死记
阅读全文
摘要:获取所有表名 SELECT A.TABLE_SCHEMA '数据库', A.TABLE_NAME '表名', A.TABLE_ROWS '表记录行数', A.CREATE_TIME '创表时间', A.TABLE_COMMENT '表备注' FROM INFORMATION_SCHEMA.TABLE
阅读全文
摘要:网盘地址 链接:https://pan.baidu.com/s/1T0WyhGAFEt28GaU4wXhfrg 提取码:z4ww navicat15破解版 链接:https://pan.baidu.com/s/1PfRJccFzoVvjVflrca40EQ 提取码:5iy8
阅读全文
摘要:问题重现 问题修复 出现这个问题,是因为,语言与外观不兼容导致,语言选“中文”,外观选“Metal” 细心的你,可能发现,为啥要重启2次呢???第一次设置完语言后,在设置外观,发现菜单不能选择,第二次重启后,才可以正常操作,估计是个bug 刚才那样只是暂时性中文显示,若想永久显示中文,请看下面 永久
阅读全文
摘要:依赖项 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version> </dependency> JWTUtils.java package net.ybc
阅读全文
摘要:/** * MD5加密工具类 * @param data * @return */ public static String MD5(String data) { try { java.security.MessageDigest md = java.security.MessageDigest.g
阅读全文
摘要:VideoMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!
阅读全文
摘要:application.properties server.port=8081 # 数据库相关配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://loca
阅读全文
摘要:快速创建SpringBoot+Spring+Mybatis项目 https://start.spring.io 删除pom中mysql依赖的runtime pom.xml中添加druid依赖 <dependency> <groupId>com.alibaba</groupId> <artifactI
阅读全文
摘要:spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/cybclass?useUnicode=true&characterEncod
阅读全文
摘要:事务管理 事务:多个操作,要么同时成功,要么失败后一起回滚 具备ACID四种特性 Atomic(原子性) Consistency(一致性) lsolation(隔离性) Durablility(持久性) 常见的Spring事务管理方式有那些 编程式事务 代码调用beginTransaction()、
阅读全文
摘要:声明切面类 @Aspect(切面):通常是一个类,里面可以定义切入点和通知 配置切入点和通知 LogAdvice.java package net.cybclass.sp.aop; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.
阅读全文
摘要:@PropertySource注解的使用 @PropeertySource,指定加载配置文件 配置文件映射到实体类 使用@Value映射到具体的java属性 CustomConfig.java package net.cybclass.sp.aop; import org.springframewo
阅读全文
摘要:@Configuration和@Bean注解的使用 @Configuration标注在类上,相当于把该类作为spring的xml配置文件中<beans>,作用为:配置spring容器(应用上下文) @bean注解:用于告诉方法产生一个Bean对象,然后这个Bean对象交给Spring管理,Sprin
阅读全文
摘要:常用注解 bean定义 XML方式:<bean></bean> 注解方式:@Component 通用组件 @Controller(web层) @Service(service层) @Repository(dao层) bean取名 XML方式:通过id或者name 注解方式:@Component("x
阅读全文
摘要:pom.xml <?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
阅读全文
摘要:需求分析 针对VideoService接口实现日志打印 三个核心包 spring-aop:AOP核心功能,例如代理工厂 aspectjweaver:简单理解,支持切入点表达式 aspectjrt:简单理解,支持aop相关注解 定义Service接口和实现类 VideoService.java pac
阅读全文
摘要:什么是代理? 为某一个对象创建一个代理对象,程序不直接用原本的对象,而是由创建的代理对象来控制原对象,通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护委托类对象,同时也为实施不同控制策略预留了空间 什么是静态代理? 由程序创建或特定工具自动生成源代码,在程序运行前,代理
阅读全文
摘要:@Before前置通知 在执行目标方法之前运行 @After后置通知 在目标方法运行结束之后 @AfterReturning返回通知 在目标方法正常返回值后运行 @AfterThrowing异常通知 在目标方法出现异常后运行 @Around环绕通知 在目标方法完成前/后做增强处理,环绕通知是最重要的
阅读全文
摘要:横切关注点 对那些方法进行拦截,拦截后怎么处理,这些就叫横切关注点 比如:权限认证、日志、事务 通知 Advice 在特定的切入点上执行的增强处理,有5种通知 用途:记录日志、控制事务、提前编写好通用的模块,需要的地方直接调用 连接点 JointPoint 要用通知的地方,业务流程在运行过程中需要插
阅读全文
摘要:属性注入 set方法、构造函数、POJO、list、map、ref,属于手工注入,点我直达 Spring自动注入 使用<bean>元素的autowire属性为一个bean定义指定自动装配模式 autowire设置值 no:没有开启 byName:根据bean的id名称,注入到对应的属性里面 byTy
阅读全文
摘要:java代码 package net.cybclass.sp; public class Test01 { public static void main(String[] args) { new classA(); System.out.println(" "); new classB(); }
阅读全文
摘要:什么是BeanPostProcessor 是Spring IOC容器给我们提供的一个扩展接口 在调用初始化方法前后对Bean进行额外加工,ApplicationContext会自动扫描实现了BeanPostProcessor得bean,并注册这些bean为后置处理器 是Bean的统一前置后置处理而不
阅读全文
摘要:package net.cybclass.sp; import net.cybclass.sp.domain.Video; import net.cybclass.sp.domain.Video2; import net.cybclass.sp.domain.VideoOrder; import o
阅读全文
摘要:继承 bean继承:两个类之间大多数的属性都相同,避免重复配置,通过bean标签的parent属性重用已有的Bean元素的配置信息 继承指的是配置信息的复用,和java类的继承没有关系 video.java(父类) package net.cybclass.sp.domain; public cla
阅读全文
摘要:使用set方法注入 Video.java package net.cybclass.sp.domain; public class Video { private int id; private String title; public int getId() { return id; } publ
阅读全文
摘要:scope属性 singleton:单例,默认值,调用getBean方法返回是同一个对象,实例会被缓存起来,效率比较高,当一个bean被标识为singleton时候,spring的IOC容器中只会存在一个该bean prototype:多例,调用getBean方法创建不同的对象,会频繁的创建和销毁对
阅读全文
摘要:创建maven 添加依赖 pom.xml <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.5.RELEASE</
阅读全文
摘要:项目结构 注意:需要引入NPOI类库 C#代码 Form1.cs using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System; using System.Collections.Generic; using System.Comp
阅读全文
摘要:区别项 Innodb MyISAM 事务 支持 不支持 锁粒度 行锁,适合高并发 表锁,不适合高并发 是否默认 默认 非默认 支持外键 支持外键 不支持 适合场景 读写均衡,写大于读场景,需要事务 读多写少场景,不需要事务 全文索引 可以通过插件实现,更多使用ElasticSearch 支持全文索引
阅读全文
摘要:什么是懒加载 按需加载,先从单表查询,需要时再从关联表去关联查询,能大大提高数据库性能,并不是所有场景下使用懒加载都能提高性能 Mybatis懒加载:resultMap里面的association、collection都有延迟加载功能 全局配置文件 <!--全局配置--> <settings> <!
阅读全文
摘要:Mybatis二级缓存 简介:二级缓存是namesace级别的,多个SqlSession去操作同个namespace下的Mapper的sql语句,多个SqlSession可以共用二级缓存,如果两个mapper的namespace相同,(既使是两个mapper,那么这两个mapper中执行sql查询的
阅读全文
摘要:Mybatis一级缓存介绍 什么是缓存 程序经常要调用的对象存在内容中,方法其使用时可以快速调用,不必去数据库或者其他持久化设备中查询,主要就是提高性能 Mybatis一级缓存 简介:一级缓存的作用域是SQLSession,同一个SqlSession中执行相同的SQL查询(相同的SQL和参数),第一
阅读全文
摘要:association:映射的是一个POJO类,处理一对一的关联关系 collection:映射的一个集合列表,处理的是一对多的关联关系 模版 <!--column不做限制,可以为任意表的字段,而property须为type,定义的pojo属性--> <resultMap id="唯一的标识" ty
阅读全文
摘要:Mybatis复杂对象一对多映射配置ResultMap的collection collection:一对多查询结果映射,比如user有多个订单 表结构 项目结构图 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:
阅读全文
摘要:Mybatis复杂对象映射配置ResultMap的association association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象 表结构 项目结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <proje
阅读全文
摘要:Mybatis的SQL语句返回结果有两种 resultType 查询出的字段在相应的POJO中必须有和它相同的字段对应,或者基本数据类型 适合简单查询 resultMap 需要自定义字段,或者多表查询,一对多等关系,比resultType更强大 适合复杂查询 项目结构 pom.xml <?xml v
阅读全文
摘要:项目结构 数据表结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSche
阅读全文
摘要:mybatis-config.xml <!--下划线自动映射驼峰字段--> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
阅读全文
摘要:VideoMapper.java /** * 根据评分和标题模糊查询 * @param point * @param title * @return */ List<Video> selectByPointAndTitleLike(@Param("point") double point,@Para
阅读全文
摘要:注意点: 要把异步任务封装到类里面,不能直接写到Controller 增加Future<String>返回结果AsyncResult<String>("task执行完成") 如果需要拿到结果,需要判断全部的task.isDone()
阅读全文
摘要:什么是一部任务和使用场景:适用于处理log、发送邮件、短信...等 下单接口->查库存 1000 余额校验 1500 风控用户 1000 启动类里面使用@EnableAsync注解开启功能,自动扫描 定义异步任务类并使用@Component标记组件被容器扫描,异步方法加上@Async TestCon
阅读全文
摘要:什么是定时任务和常见定时任务区别? 某个时间定时处理某个任务 发邮件、短信等 消息提醒 统计报表系统 。。。 常见定时任务 Java自带的java.util.Timer类配置比较麻烦,时间延后问题 Quartz框架:配置更简单,xml或者注解适合分布式或者大型调度作业 SpringBoot框架自带
阅读全文
摘要:Freemarker相关maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> Fre
阅读全文
摘要:拦截器:和过滤器用途基本类似 SpringBoot2.X新版本配置拦截器 implements WebMvcConfigure 自定义拦截器 HandlerInterceptor preHandle:调用Controller某个方法之前 postHandle:Controller之后调用,视图渲染之
阅读全文
摘要:监听器:应用启动监听器,会话监听器,请求监听器 作用: ServletContextListener 应用启动监听 HttpSessionLisener 会话监听 ServletRequestListener 请求监听
阅读全文
摘要:使用Servlet3.0的注解进行配置步骤 启动类里面加@ServletComponentScan,进行扫描 新建一个Filter类,implements Filter,并实现对应的接口 @WebFilter标记一个类为filter,被spring扫描 urlPatterns:拦截规则,支持正则 控
阅读全文
摘要:返回自定义异常界面,需要引入thymeleaf依赖(非必须,如果是简单的html界面则不用) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</art
阅读全文
摘要:全局异常处理 为什么要配全局异常? 不配全局服务端报错场景,1/0、空指针等 配置好处 统一的错误页面或错误码 对用户更友好 配置全局异常 第一步类添加注解 @ControllerAdvicce,如果需要返回JSON数据,则方法需要加@ReponseBody @RestControllerAdvic
阅读全文
摘要:引入相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <ex
阅读全文
摘要:配置文件加载 方式一 Controller上面配置@PropertySource({"classpath:pay.properties"}) 添加属性@Value("wxpay.appid") private String payAppid; pay.properties # 微信支付的appid
阅读全文
摘要:什么是热部署 应用正在运行的时候升级功能,不需要重新启动应用 对于Java应用程序来说,热部署就是在运行时更新Java类文件 好处:不需要重新手工启动应用,提高本地开发效率 常见热部署 jrebel Spring Loaded spring-boot-devtools 步骤 pom文件添加依赖包 <
阅读全文
摘要:常用框架 阿里fastjson,谷歌gson等 JavaBean序列化为json 性能:Jackson>FastJson>Gson>lib 同个结构 Jackson、Fastjson、Gson等库各有优缺点,各有自己的专长 空间换时间,时间换空间 Jackson处理相关自动 指定字段不返回:@Jso
阅读全文
摘要:package net.cyb.demo.controller; import net.cyb.demo.domain.User; import net.cyb.demo.utils.JsonData; import org.springframework.web.bind.annotation.P
阅读全文
摘要:关于Winform窗体美化,目前大致了解是有两种方式:第一种方式是重写Winform本身的控件,不过这需要非常熟悉控件的各个属性和事件并且要求具有很高的GDI绘图技术。第二种方式是借助第三方Winform皮肤组件。毕竟修为不够<(^-^)>,我这里选择了第二种方式,就是借助目前流行的“IrisSki
阅读全文
摘要:IDEA开发中启动 本地开发中常用 外置Tomcat中启动 接近淘汰 tomcat版本兼容问题复杂 微服务容器化部署复杂 Jar方式打包启动 官方推荐,工作中最陈昌勇 步骤:pom文件新增maven插件 <build> <plugins> <plugin> <groupId>org.springfr
阅读全文
摘要:目录讲解 src/main/java:存放代码 src/main/resourcces static:存放静态文件,比如css、js、image,(访问方式:http://localhost:8080/js/main.js) templates:存放静态页面jsp、html、tpl config:存
阅读全文
摘要:@Controller 作用:用于标记这个类是一个控制器,返回页面的时候使用;如果要返回JSON,则需要在接口上使用@ResponseBody才可以 @RestController 作用:用于标记这个类是一个控制器,返回JSON数据的时候使用,如果使用这个注解,则接口返回数据会被序列化为JSON 所
阅读全文
摘要:什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 更多 Spring Boot 详细介绍请看这篇文章《什么是Spring
阅读全文

浙公网安备 33010602011771号