java学习笔记
文章平均质量分 61
记录自己的Java学习之路~
这知识不进我脑袋呀
这个作者很懒,什么都没留下…
展开
-
Mybatis快速操作--简化配置文件
mybatis是款好用的Dao层框架,但是由于繁琐的配置文件信息,让我们在使用的时候倍感繁琐,为了更好的开发,我们可以选择一些好用的插件,帮助我们使用Mybatismybatis插件在setting->plugin中搜索Free MyBatis plugin,安装并重启即可!使用配置文件自动生成当我们写一个接口后,只需要按下alt+enter,便会出现提示信息点击确定并选择合适的路径,插件会帮我们自动生成xml文件自动生成sql语句标签我们在接口中定义抽象方法后,需要对Map原创 2021-04-14 11:39:42 · 231 阅读 · 1 评论 -
读取properties配置文件的几种方法
我们常常需要将一些配置参数放置在XML 配置文件或者 properties 配置文件中,增强程序灵活性。我总结下读取 properties 配置文件的几种方法,供需要时使用。假设我有一个config.properties文件:(键值对形式),现在需要读取出来className=demo.TeachermethodName=teach方式一:properties类public class propertiesTest{public static void main(String[] arg原创 2021-04-09 22:23:23 · 5037 阅读 · 2 评论 -
Servlet抽取思想详解
1.概念比如上图中客户端的操作比较多,那我们需要每一个操作建一个Servelet,最终项目结构会很混乱。所以我们需要将用户的操作全部抽取到一起,一个Servlet搞定所有用户操作!Servlet中原有的方法只有doGet和doPost,那怎么做到我们各种各样操作需求?2.自定义方法我们可以通过自己定义方法来完成各种需要的操作,由于Http协议中有一个头参数operator,可以在请求过程中在请求头中带上operator键值对,这样不同操作需求定义成不同方法的时候,通过不同的请求头中参数来判断到底原创 2021-03-18 16:48:53 · 219 阅读 · 3 评论 -
response.setContentType()和response.setCharacterEncoding()使用区别及统一处理request和response编码
引入在Servlet中,我们常常会处理服务器与浏览器之间传输的时候,中文乱码问题。乱码原因:我们知道浏览器的编码方式是GBK,而Tomcat服务器中编码方式是utf-8,如果他们编码不一致,就会出现乱码有一个比较好的解决方式是在doGet中加入两行代码第一行处理浏览器发送给服务器数据的乱码问题,第二行处理服务器发回给浏览器数据的乱码问题准确来说,这个已经是蛮好的解决方法了。就在今天下午写response的时候我突然看到了response.setCharacterEncoding(),我就原创 2021-03-17 17:28:05 · 724 阅读 · 3 评论 -
添加Tomcat类库:解决程序包javax.servlet不存在
如果出现javax.servlet不存在,说明没有添加Tomcat类库步骤如下step1step2step3step4step5添加Tomcat库成功。Tomcat详细部署详见另一篇博文IDEA中创建web项目+Tomcat部署(2020.2后版本)原创 2021-03-14 13:54:04 · 1376 阅读 · 0 评论 -
No database selected Query:解决数据库查询中使用问号占位符查询不到正确数据的问题
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta原创 2021-02-26 20:43:04 · 3125 阅读 · 2 评论 -
IDEA中创建web项目+Tomcat部署(2020.2后版本)
前言自从IDEA2020.2版本发布之后,在IDEA中创建web项目与之前发生了很大变化现在:我们会发现新建项目的时候,界面变成这样了曾经:在IDEA2020.2以前,我们创建一个web项目那么问题就来了,我们应该怎么办呢?一、配置Web项目现在我们创建web项目只需要:1.正常的先New 一个普通Java项目,2.然后回到项目界面,右键项目名称->add framwork support->选中Web Application->默认勾选创建web.xmlste原创 2021-02-25 20:54:16 · 556 阅读 · 0 评论 -
多态中向下转型的技巧性认知(逢看必懂)
前言在多态中,向下转型因为是比较基础的内容,用到次数也不算多,所以大家都不太重视,但在写代码时,冷不丁出现一个 ClassCastException也是很不好受的,主要还是对向下转型理解不到位出现的。下面我用一些比较形象的例子以及自己的话语写了一些理解,只要掌握了类型之间转换的技巧,那基本不会在写代码时候出现 ClassCastException了,文章有点长,请耐心读下去~多态的转型分为向上转型与向下转型两种:1.向上转型(简单回顾)向上转型:多态本身是子类类型向父类类型向上转换的过程,这个过原创 2021-02-24 21:47:48 · 649 阅读 · 1 评论 -
forName().getResourceAsStream和forName().getClassLoader().getResourceAsStream方法的区别及总结(API文档分析)
问题描述:在载入一个properties文件的时候,由于我的粗心写了一行易错代码 - -,InputStream is = Class.forName("utils._03DruidUtils").getResourceAsStream("druid.properties");结果直接给我报出一个空指针异常NullPointerException我仔细分析了下代码,一般空指针异常是读取文件没有读到,所以我就注意到了这一行代码InputStream is = Class.forName("ut原创 2021-02-19 23:59:10 · 1378 阅读 · 6 评论 -
依赖注入DI应用的简单理解(xml配置文件+反射)
引入假如我有一个类Person,我想通过类来创建对象import lombok.Data;@Data //loombok注解public class Person { private String name; private String address;}//创建对象public static void main(String[] args) { Person person = new Person(); person.setName("张三");原创 2021-02-11 19:18:11 · 456 阅读 · 7 评论 -
Java中如何获取基本数据类型(自实现和调用反射API两种方式)
问题Java是面向对象的语言,一切皆是对象,所以基本数据类型都是有自己的包装类的,对于引用数据类型,我们通过反射技术可以得到一个变量的类型.变量名称.getClass().getSimpleName()但是,对于基本数据类型,我们如果想要得到他的类型应该怎么办呢?我查了下API,好像没有专门的方法可以帮助我们直接获取基本数据类型变量的类型,所以我就自己写了个方法,可以获得一个变量的基本数据类型。实现 public static void main(String[] args) {原创 2021-02-05 01:02:11 · 2427 阅读 · 6 评论 -
匿名内部类有多种接口怎么用Lambda
Lambda的语法中对实现的接口的名字也简化省略了,那会不会有这么一种情况:一个类的构造器中可以接收多种接口,并且多个接口需要实现的抽象方法中传入的参数都一样,那用Lambda就很难区分到底实现的是哪个接口了。那该怎么办呢?我写了个测试了一下interface Animal{ void run();}interface Person{ void run();}//哺乳动物类class mammal { public mammal() { }原创 2020-12-22 23:54:48 · 518 阅读 · 0 评论 -
idea项目的根目录怎么查看?
idea项目的根目录怎么查看?问题: IO操作中,我常常因为懒惰,想写相对路径,如File file = new File("/config.properties");,但是我却找不到一个项目的根目录到底在哪,记录下我这次的寻找根目录的方法解决方法:传入根目录./到File类中通过输出File的方法**getAbsoluteFile()**找到根目录File file = new File("./");System.out.println(file.getAbsoluteFile(原创 2020-12-22 21:40:32 · 7844 阅读 · 0 评论 -
常用API
04 【常用API】内容Object类日期类日期格式化日历类SystemArrays正则表达式Math类BigInteger类BigDecimal类基本类型包装类目标 能够说出Object类的特点 能够重写Object类的toString方法 能够重写Object类的equals方法 能够使用将日期格式化为字符串的方法 能够使用将字符串转换成日期的方法 能够使用日历对象的方法 能够使用Math类的方法 能够使用System类获取当前系统毫秒值 能够说出数组冒原创 2020-11-14 14:43:01 · 304 阅读 · 0 评论 -
IDEA中出现java file outside of source root怎么办
有时候打开idea会出现文件名左下角有个红圈的情况,下图其实只要稍微修改下就可以跑起来了step1:点击文件下的项目结构step2:点击左边模块step3:右键点击文件夹,将这里的“排除的”点成“源”就可以了step4:确定即可这就是最终可以运行的图了~~...原创 2020-10-12 20:37:35 · 39343 阅读 · 11 评论 -
Eclipse的自动补全代码功能
eclipse的初始自动补全功能并不好,每次需要alt+/才能显示出来,刚开始写的时候感觉还行,但人都是懒得,肯定希望写的时候就出现提示信息,哈哈。我发现可以通过修改设置达到目的这个是没修改前的配置,我们只有通过点才能有提示,我修改了两处地方,就可以达到自动提示效果1.该处需要修改成其实就是将.后面加上abdefghijlmnopqrstuvwxyz等26个字母即可(eclipse不区分大小写,不用大写ABCD等)2.这个地方需要点上勾勾,这个作用是避免你输入空格的时候,编译器给你填入你不想要的原创 2020-08-18 00:11:38 · 344 阅读 · 0 评论 -
JAVA与C中一维数组的类似之处与区别
因为我写C比较多,在学java的时候总是会不自觉想去了解了解和C关联,毕竟底层实现是差不多的在java中,基本数据类型不需要new而直接定义,而引用数据类型在定义实例时需要new实例对象。1、不同于String类,String由于实现了常量池 所以new 和不new 有区别:new的话,引用变量指向堆区。不new的话,引用变量指向常量池。下面是来自网络的内存结构图2、对于数组的定义,初始化时用new与不用new 没区别,只是两种方式罢了,因为数组是引用数据类型,建立对象时,无论用不用new,数组实原创 2020-08-07 20:48:24 · 318 阅读 · 0 评论