- 博客(24)
- 收藏
- 关注
原创 四、常用框架-SpringBoot
Spring Profiles允许用户根据配置文件(dev,test,prod等)来注册bean。因此,当应用程序在开发中运行时,只有某些bean可以加载,而在生成环境中,某些其他bean可以加载。假设我们的要求是Swagger文档仅适用于QA环境,并且禁用所有其他文档。这可以使用配置文件来完成。SpringBoot使得配置文件非常简单。启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需的Spring和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。
2023-03-30 07:48:36 130
原创 三、常用框架-Spring
IOC、DI和AOP方便解耦,简化开发,通过Spring提供的IOC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码造成的程序耦合度高。AOP编程的支持,通过Spring提供的AOP功能,方便进行切面编程。
2023-03-27 21:22:19 72
原创 二、常用框架-MyBatis-Plus
无侵入:只做增强不做改变,约会他不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作强大的CURD操作:内置通用Mapper,通用服务,仅通过少量配置即可实现单表大部分CURD操作,足以强大的条件构造器,满足各种使用需求支持Lambda形式调用:通过Lambda表达式,方便的编写分类查询条件,无需再担心替换写错支持主键自动生成:支持多达4种主键策略(内部含分布式唯一ID生成器-序列),可自由配置,完美解决主键问题。
2023-03-23 08:28:15 168
原创 一、常用框架-MyBatis
{}是预编译处理,${}是字符串替换MyBatis在处理#{}时,会将SQL中的#{}替换为?号,调用PreparedStatement的set方法来赋值;MyBatis在处理${}时,就是把${}替换成变量的值使用#{}可以有效的防止SQL注入,提高系统安全性。
2023-03-22 21:52:14 43
原创 一、数据库-JDBC
就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上个节点。为了确保要么执行,要么不执行就可以使用事务。
2023-03-22 08:10:51 52
原创 二、Java WEB-RESTUful
REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如web应用程序。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像一种设计风格。
2023-03-16 08:05:22 101
原创 一、Java WEB-WEB基础
GET请求只能URL编码,而POST支持多种编码方式GET请求只接受ASCII字符的参数,而POST没有限制GET请求的参数通过URL传送,而POST放在Request Body中GET相对于POST更不安全,因为参数直接暴露再URL中GET请求会被浏览器主动缓存,而POST不会(除非自己手动设置)GET请求再URL传参有长度限制,而POST则没有限制GET请求的参数会被完整的保留再浏览器的历史记录里,而POST的参数则不会GET 在浏览器回退时是无害的,而POST会再次提交要求。
2023-03-14 22:27:14 44
原创 十三、JavaSE-IO体系
序列化:将Java对象转换成字节流的过程。反序列化:将字节流转换成Java对象的过程。当Java对象需要在网络上传输或者持久化存储到文件中时,就需要对Java对象进行序列化处理。序列化的实现:类实现Serializable接口,这个接口没有需要实现的方法。实现Serializable接口是为了告诉jvm这个类的对象可以被序列化。
2023-03-14 07:59:34 43
原创 十二、JavaSE-多线程和并发
线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。如下图所示,线程A持有资源2,线程B持有资源1,他们同时都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态。产生死锁必须具备以下四个条件:互斥条件:该资源任意一个时刻只有一个线程占用请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
2023-03-13 21:52:14 41
原创 十二、JavaSE-异常体系
在Java中,所有的异常都有一个共同的祖先java.lang包中的Throwable类。Throwable类有两个重要的子类:Exception:程序本身可以处理的异常,可以通过catch来进行捕获。Exception又可以分为Checked Exception(受检查异常,必须处理)和Unchecked Exception(不受检查异常,可以不处理)。Error:程序无法处理的错误,我们没有办法通过catch来进行捕获不建议通过catch捕获。
2023-03-09 21:40:30 33
原创 十一、JavaSE-集合工具类
数组转List:使用Arrays.asList(array)进行转换。List转数组:使用List自带的toArray()方法。
2023-03-09 21:02:24 41
原创 十、JavaSE-Map接口
HashMap默认初始化长度为16,并且每次自动扩展或者是手动初始化容量时,必须是2的幂。为了数据的均匀分布,减少哈希碰撞。因为确定数组位置是用的位运算,若数据不是2的次幂则会增加哈希碰撞的次数和浪费数组空间。(PS:其实若不考虑效率,求余也可以就不用位运算了也不用长度必须为2的次幂)输入数据若不是2的次幂,HashMap通过一通位移运算和或运算得到的肯定是2的幂次数,并且是离那个数最近的数字。
2023-03-09 08:32:39 33
原创 九、JavaSE-Set接口
是为了提高效率,采取重写hashcode方法,新进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,这对比需要比较的数量很大的效率提高是很明显的。
2023-03-07 07:58:27 29
原创 八、JavaSE-List接口
实际再问,数组和ArrayList的区别存储类型不同Array:只可存储基本数据类型和对象ArrayList:只能存储对象大小不同Array:被设置为固定大小ArrayList:是一个可变数组,大小可自动调整对象所包含的方法不同Array:所包含的方法没有ArrayList多ArrayList有很多操作方法:addAll、removeAll、iteration等。
2023-03-06 22:23:10 27
原创 六、JavaSE-常用类String
String 类中使用final关键字修饰字符数组保存字符串,private final char[] value,所以String对象是不可变的。
2023-03-06 21:28:42 52
原创 四、JavaSE-面向对象基础
封装:是面向对象三大特征之一,其含义有两个(掌握思想):把对象的字段和方法存放在一个独立的模块中(类)信息隐藏,尽可能隐藏对象的数据和功能的实现细节封装的好处:提高组件的重用性,把公用功能放到一个类中,谁需要该功能,直接调用即可保证数据的安全性,防止调用者随意修改数据继承:不同类型的对象,相互之间经常有一定数量的共同点。例如,小明同学、小红同学、小李同学,都共享学生的特性(班级、学号等)。同时每一个对象还定义了额外的特性使得他们与众不同。例如小明的数学比较好,小红的性格惹人喜爱;
2023-03-03 07:48:05 35
原创 三、JavaSE-JVM内存模型
它是Java对象的存储区域,任何new分配的Java对象实例和数组,都被分配在堆上,Java堆可使用-Xms-Xmx进行内存控制,值得一提的是从JDK1.7版本之后,运行时常量池从方法区移到了堆上。
2023-03-02 08:06:43 100
原创 一、JavaSE-基础语法
因为当第一个表达式的值为false的时候,则不会再计算第二个表达式;另外&还可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。&还可以⽤作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使⽤0x0f来与⼀个整数进⾏&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
2023-03-01 23:04:38 49
原创 文件导出至浏览器下载状态的方式
1.获取页面表格数据,不涉及URL导出excelpublic static void outputExcel(HSSFWorkbook wb, HttpServletResponse response, HttpServletRequest request, String filename){ OutputStream output; try { output = response.getOutputStream(); r
2021-11-24 15:17:37 407 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人