- 博客(42)
- 收藏
- 关注
原创 SpringIOC容器实例化bean对象的三种方式
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.spring
2021-06-28 22:50:59
169
原创 SpringIOC加载配置文件的方式
@Test public void test01() { //单个配置文件加载 //1. 相对路径 ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); //2.绝对路径加载 ApplicationContext context1 = new FileSystemXmlApplicationContext("F:\\p
2021-06-28 20:48:21
98
原创 简单模拟Spring基于XML实现IOC
创建一个用于接收xml标签属性的类/** * Bean对象 * 用于接收配置文件中,bean标签的id与class属性值 */public class MyBean { private String id;//bean标签的id属性 private String clazz;//bean标签的class属性 public MyBean() { } public MyBean(String id, String clazz) { this..
2021-06-28 15:38:43
105
原创 MySql常见函数
一、字符函数获取字符长度:length()拼接字符串:concat('str1','str2','str3',······)参数数量任意转换大小写:upper() lower()截取字符串:substr('str',index)返回index之后的substr('str',index,length)返回index之后指定长度的内容index从1开始返回字串第一次出现的起始索引:instr('strParent','strSon')若找不到,返回0去除空格:trim('str')用指
2021-06-25 17:07:14
59
原创 MySql常见命令
查看当前所有数据库:show database打开指定的库:use 库名查看当前库的所有表:shou tables查看其它库的所有表:show tables from 库名创建表:creat table 表名( 列名 列类型, 列名 列类型, ······ )查看表结构:desc 表名查看服务器版本:select version() 或 mysql --version 或 mysql --V...
2021-06-25 11:20:59
52
原创 SpringMVC(一)——运行原理
概述:SpringMVC是SpringFramework的一部分,是基于Java实现的轻量级Web框架。SpringMVC的特点:轻量级,简单易学。高效,基于请求响应的MVC框架。与Spring兼容性好,无缝结合。约定优于配置。功能强大:RESTful、数据验证、格式化、本地化、主题等···简洁灵活。中心控制器Spring的Web框架围绕DispatcherServlet设计,其作用是将请求分发到不同处理器。SpringMVC与其他许多MVC框架一样,以请求为驱动,围绕一个中心.
2021-06-23 12:43:36
171
原创 Spring框架(二)——AOP
什么是AOP面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发效率。通俗描述:不通过修改源代码,在主干功能里添加新功能。例如:权限控制、日志收集。底层原理AOP的底层使用动态代理实现有接口,使用JDK动态代理。1. 基本原理:使用Proxy类创建接口实现类代理对象,增强被代理类的方法2. 代码实现/**创建接口,定义方法。*/public interface UserDao { publ.
2021-06-21 21:04:47
83
原创 Spring框架(一)——Spring概述和IOC容器
Spring框架概述Spring是轻量级的开源的JavaEE框架Spring框架可以解决企业应用开发的复杂性。Spring有两个核心部分:IOC、AOP。IOC:控制反转,把创建对象的过程交给Spring进行管理。AOP:面向切面,不修改源代码,进行功能增强。Spring的特点:方便解耦,简化开发。AOP编程支持。方便程序测试。方便和其他框架进行整合。方便进行事务的操作。降低API开发难度。简单测试,通过Spring创建对象public class User {
2021-06-19 16:51:11
75
原创 JavaWeb(六)——Listener & Filter
一、Listener什么是Listener监听器?Listener监听器它是javaWeb的三大组件之一。JavaWeb的三大组件分别是:Servlet程序、Filter过滤器、Listener监听器。Listener是JavaEE的规范,即接口。监听器的作用是,监听某事物的变化。然后通过回调函数,反馈给客户(程序)去做一些相应的处理。ServletContextListener监听器ServletContextListener监听器他可以监听ServletContext对象的创建和销毁
2021-06-16 12:19:10
91
原创 JavaWeb(七)——Cookie & Session
一、Cookie什么是Cookie?Cookie是服务器通知客户端保存键值对的一种技术。客户端有了Cookie之后,每次请求都发送给服务器。每个Cookie的大小都不能超过4Kb如何创建Cookiepublic class CookieTest extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExce
2021-06-15 21:44:30
80
原创 JavaWeb(五)—— HTTPServletRequest & HttpServletResponse
一、HTTPServletRequest类HTTPServletRequest有什么作用每次只要有请求进入到Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中。然后传递到service方法(doGet和doPost)中给我们使用。我们可以通过HTTPServletRequest对象,获取到所有请求的信息。HTTPServletRequest类的常用方法public class RequestAPIServlet extends HttpS
2021-06-15 15:58:56
255
原创 JavaWeb(四)—— HTTP协议
一、什么是HTTP协议协议是指双方,或多方,互相约定好,大家都要遵守的规则。所谓HTTP协议,就是指客户端和服务器之间通信时,发送的数据要遵守的规则。HTTP协议中的数据又叫做报文。二、HTTP协议数据格式请求和响应的概念客户端给服务器发送数据叫请求。请求又分为get请求和post请求服务器给客户端回传数据叫响应。GET请求请求行请求的方式:GET请求的资源路径: http://host:port/xxxx/xxxx/····?paramName=value&p
2021-06-12 17:54:11
85
原创 JavaWeb(三)—— 创建Servlet、ServletConfig类、ServletContext类
一、什么是ServletServlet是JavaEE规范之一。规范就是接口。Servlet是JavaWeb三大组件之一。三大组件分别是:Servlet程序,Filter过滤器,Listener监听器。Servlet是运行在服务器上的一个Java程序,他可以用来接收客户端发送过来的请求,并响应数据给客户端。二、创建Servlet程序创建Maven web程序,添加如下依赖。<dependency> <groupId>javax</grou
2021-06-11 17:20:50
222
原创 JavaWeb(二)——Tomcat的使用
以下操作均在Windows环境下进行一、Tomcat的安装前往官网,选择对应版本下载安装Windows下直接右键解压即可。Linux下通过tar -zvxf <压缩文件名>命令进行解压。目录详解bin:专门用来存放Tomcat服务器的可执行程序。conf:专门用来存放Tomcat的配置文件。lib:专门用来存放Tomcat服务器的jar包。logs:专门用来存放Tomcat服务器运行时输出的日记信息。temp:专门用来存放Tomcat运行时产生的临时数据。we
2021-06-10 22:59:01
80
原创 JavaWeb(一)—— 相关概述
一、JavaWeb的概念什么是JavaWebJavaWeb,是对通过Java语言编写,可以通过浏览器访问的程序的总称。JavaWeb是基于请求和响应开发的。什么是请求请求是指客户端给服务端发送的数据。Request。什么是响应响应是指服务器给客户端回传的数据。Response。请求和响应的关系请求和响应是成对出现的,有请求就有响应。二、Web资源的分类 web资源按实现的技术和呈现的效果不同,可分为==静态资源==和==动态资源==两种。静态资源: HTML、CSS、Java
2021-06-10 21:10:22
147
翻译 搞定Redis(六)—— 缓存穿透和雪崩
一、缓存穿透概述:缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方案布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;但是这种方法会存在两个问题:1、如果空值能够被缓
2021-06-10 10:40:03
56
原创 搞定Redis(五)——Redis主从复制和哨兵机制
一、Redis主从复制1.概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower)。数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。默认情况下,每台Redis服务器都是主节点。一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。2.主从复制的主要作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障
2021-06-10 10:01:56
146
原创 搞定Redis(四)——Redis的持久化
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-06-09 15:38:20
37
原创 搞定Redis(三)消息的发布、订阅和新增数据类型
一、Redis的发布和订阅 1、什么是发布和订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 2、Redis发布和订阅原理 2.1、客户端可以订阅频道如下图 2.2、当给这个频道发布消息后,消息就会发送给订阅的客户端 ...
2021-06-07 13:54:00
163
原创 搞定Redis(二)Redis配置文件
1、Units单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit,大小写不敏感。 2、INCLUDES包含 类似jsp中的include,多实例的情况可以把公用的配置文件提取出来 3、网络相关配置 3.1、bind 用于限制可访问的IP地址。 默认情况bind=1...
2021-06-07 11:02:00
52
原创 搞定Redis(一)Redis的安装和五大基本数据类型
一、Redis概述及安装 1、概述: 1.1、Redis是一个开源的key - value存储系统。 1.2、和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set -- 有序集合)和hash(哈希类型)。 1.3、这些数据类型都支持push/pop、add/remov...
2021-06-07 08:45:00
117
原创 Java反射及动态代理
一、反射概述 1、什么是反射: Reflection是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API获得任何类的内部信息,并能直接操作任意对象的内部属性和方法。 加载完类之后,在堆内存的方法区中,就产生了一个class类型的对象(一个类只有一个Class对象),这个对象包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一...
2021-06-05 11:43:00
79
原创 Java网络编程
一、网络编程中有两个主要的问题 1、如何准确的定位一台或多台主机;定位主机上的特定应用。 2、找到主机后如何可靠高效的进行数据传输。二、网络编程中的两个要素。 1、对应上方问题1:IP和端口号。 2、对应上方问题2:提供网络通信协议:TCP/IP参考模型(应用层,传输层,网络层,物理+数据链路层)。三、通信要素一:IP和端口号 1、IP:唯一表示Internet上的计算机...
2021-05-30 23:16:00
46
原创 Java IO流
一、File类的使用 1、File类的一个对象代表一个文件或一个文件目录。 2、File类声明在java.io包下。 3、创建File类的实例 3.1、构造器一:File(String pathname)。 3.2、构造器二:File(String parent, String child)。 3.3、构造器三:File(File parent, String...
2021-05-29 15:07:00
49
原创 Java集合框架
一、集合框架的概述 1、集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储。 2、数组优缺点 2.1、数组在存储多个数据方面的特点: > 一单初始化后,其长度就确定了。 > 数组一旦定义好,其元素的类型也就确定了。只能操作指定类型的数据。 ...
2021-05-27 23:30:00
63
原创 Java 比较器
一、Comparable接口的使用举例 1、像String、包装类等实现了Comparable接口,重写了compareTo() 方法,给出了比较两个对象大小的方式。 2、像String、包装类重写compareTo( )方法后,进行了虫小到大的排列。 3、重写compareTo( )的规则: 如果当前对象this大于形参对象obj,则返回正整数。 如果...
2021-05-22 18:06:00
43
原创 Java日期和时间
一、JDK8之前 1、System类中的currentTimeMillis( )。返回当前时间与1970年1月1日0时0点0分0秒之间以毫秒为单位的时间差。 @Test public void test1(){ long millis = System.currentTimeMillis(); System.out.println(millis);...
2021-05-22 15:43:00
195
原创 StringBuffer和StringBuilder
一、StringBuffer、StringBuilder、String三者的异同。 1、String:不可变的字符序列;底层使用char[ ]存储; 2、StringBuffer:可变字符序列;线程安全,效率低。底层使用char[ ]存储; 3、StringBuilder:可变字符序列;线程不安全,效率高,JDK5.0新增;底层使用char[ ]存储;二、源码分析 1、Stri...
2021-05-17 22:07:00
90
原创 String的特性
一、String 的特性 1、String声明为final的,不可被继承。 2、String实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String 可以比较大小。 3、String 内部定义了final char[ ] value用于存储字符串数据。 4、String代表不可变的字符串序列。具有不可变性...
2021-05-17 19:57:00
380
原创 Java--异常
一、异常概述 1、定义:在程序执行过程中发生的不正常情况称为“异常”(开发过程中的语法错误和逻辑错误不是异常)。 2、异常事件可分为两类: 2.1、Error:Java虚拟机无法解决的严重问题。例如:JVM系统内部错误、资源耗尽等情况。比如:StackOverflowError和OOM。public class ErrorTest { public static vo...
2021-03-31 12:29:00
40
原创 Java面向对象(三)
一、static关键字的使用 1、static:静态的 2、static可以用来修饰属性、方法、代码块、内部类。 3、使用static修饰属性:静态变量(类变量)。 3.1、属性按是否使用static修饰,又分为:静态属性和非静态属性(实例变量)。 实例变量:当我们创建了类的多个对象,每个对象都独立的拥有一套类中的静态属性。当修改其中一个对象中的非静态属性时,...
2021-03-25 23:18:00
63
原创 Java面向对象(二)
一、面向对象特征之一:封装和隐藏 1、概述 1.1、隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装的设计思想。 1.2、高内聚:类的内部数据操作细节自己完成,不允许外部干涉。 低耦合:仅对外部暴露少量的方法用于使用。 1.3、当我们创建一个类的对象以后,我们可以...
2021-03-15 22:46:00
105
原创 Java面向对象(一)
一、Java面向对象学习的三条主线 1、Java类及类的成员。 属性、方法、构造器、代码块、内部类。 2、面向对象的三大特征。 封装性、继承性、多态性。 3、其他关键字。 this、super、static、final、abstract、interface、package、import等。二、面向对象与面向过程的区别 面向过程就是分析出解决问题所需要的步...
2021-03-15 22:45:00
58
原创 Eclipse快捷键
1、补全代码:alt + /2、快速修复:ctrl + 13、批量导包:ctrl + shift + o4、单行注释:ctrl + /5、多行注释:ctrl + shift + /6、取消多行注释:ctrl + shift + \7、复制指定行的代码:ctrl + alt + down 或ctrl + alt + up8、删除指定行的代码:ctrl + d9、上下移动代码:al...
2021-03-09 19:48:00
99
3
原创 数组
一、数组概念 1、数组是存储同一数据类型多个元素的容器。 2、既可以存储基本数据类型,也可以存储引用数据类型。二、数组的定义格式 1、数据类型[ ] 数组名; 2、数据类型 数组名[ ]; 注:建议使用第一种定义格式!另外,定义完成之后数组中是没有元素的,还需要向数组中添加元素。三、数组初始化 1、Java中的数组必须先初始化,然后才能使用。 所谓初始化...
2019-11-13 07:08:00
51
原创 Java流程控制语句
一、if语句 1、格式 if(条件表达式){ } 如果条件表达式为true则执行“ { } ”中的语句。 2、else if if(条件表达式1){ }else if(条件表达式2){ } 如果条件表达式1不成立则去判断条件表达式2。 可以添加任意条else if 语句 3、else if(条件表达式1){ ...
2019-11-13 06:32:00
29
原创 Java中的运算符
一、概述 运算符:对常量和变量进行操作的符号称为运算符。 表达式:用运算符把常量或变量连接起来符合Java语法的式子称为表达式。二、算数运算符 1、算数运算符有哪些 + 、- 、* 、/ 、% 、++ 、-- 。 2、取余和除法的区别 %:得到的是两个数相除的余数。 /:得到的是两个数相除的商。 使用场景:判断两个数是否可整除。 3、字符和字...
2019-11-12 06:52:00
41
原创 Java数据类型
一、常量 1、常量概述 在程序执行过程中,其值不会发生改变的量。 2、常量分类 1> 字符串常量:用双引号括起来的内容“Hello”。 2> 整数常量:所有整数1、2、3······ 3> 小数常量:所有小数1.1 、2.2 ······ 4> 字符常量:用单引号括起来的内容‘A’、‘B’、‘1’、‘哈哈’······...
2019-11-11 21:50:00
47
原创 Java关键字
一、关键字概述 被java语言赋予特殊含义的单词二、关键字特点 1、由小写字母组成。 2、常用代码编辑器(eclipse,Idea等等)对关键字都有特殊颜色标注,不需死记硬背。三、关键字举例用于定义数据类型的关键字classinterfacebyteshortintlongdoublefloatcharboolean用于定义数据类型值的关...
2019-11-11 07:01:00
31
原创 Java注释分类
注释:用于解释说明程序的文字。一、单行注释 单行注释的内容只能在双斜杠后一行代码空间中,超出此行则注释不生效。// 我是单行注释二、多行注释 多行注释以“ /* ”开头,以“ */ ”结尾,中间部分为注释内容。可以跨越多行。/*我是多行注释*/三、文档注释 文档注释以“/** ”开头,以“ */ ”结尾,中间部分为注释内容。用于生成API文档public cl...
2019-11-11 06:34:00
49
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人