自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 log4j.properties

Log4j是一个开源项目,是Java编写的日志记录包。它可以帮助程序员对应用程序的日志记录进行细粒度的控制。在Java应用中,通常使用Log4j来记录日志信息。对于Log4j的配置文件,可以使用.properties或.xml文件格式。

2023-04-05 16:00:00 357

原创 对ELK的理解

ELK是一套针对日志数据做解决方案的框架,由三款产品组成:ElasticSearch(ES)、Logstash、Kibana。ElasticSearch负责日志的存储和检索。Logstash负责日志的收集、过滤和格式化。Kibana则负责日志的展示统计和数据可视化。ELK框架对服务行为数据进行分析。它能解决应用出现故障需要通过日志排查故障信息的问题。当应用已部署了多个环境时,排查的难度和耗时就是一个巨大的损耗。而ELK就可以对多个环境的日志进行收集、过滤、存储、检错和可视化。

2023-04-04 11:26:20 411

原创 svn切git

将svn项目的trunk_new分支切到git项目的trunk分支。

2023-03-31 09:59:20 190

原创 Spring MVC - 拦截器(Interceptor)

Spring MVC框架中,拦截器是可以运行在所有控制器处理请求之前或之后的一种组件,拦截器拦截下来执行其他代码或者阻止代码运行。解决的问题典型代表就是验证用户是否已经登录。使用拦截器可以自定义类实现HandlerInterceptor接口。每个拦截器必须注册才会被启用,注册过程通过重写WebMvcConfigurer接口中的addInterceptors()方法即可。浏览器显示 控制台显示当把preHandle()返回值改为true,在Tomcat控制台可以看到依次执行了preHandle()

2022-06-07 12:36:22 328 1

原创 Spring MVC - 统一处理异常

Spring MVC框架提供了统一处理异常机制,使特定种类的异常对应一段特定的代码,当编写代码时,无论在任何位置,都可以将异常直接抛出,由统一处理异常的代码进行处理。以上处理异常代码只作用于当前控制器类中请求处理的方法,对其他控制器类中的代码并不产生影响,无法处理其他控制器类的异常。为了更合理处理异常应该:GlobalExceptionAdvice类Spring MVC的处理模式:将方法参数声明为Throwable,所有异常都可以被处理。但在处理过程中应判断当前异常归属类型。在开发实践中.

2022-06-05 21:24:11 579

原创 Spring MVC - 响应正文时的结果类型

建议向客户端响应JSON格式的字符串,添加jackson-databind依赖项使用通用的JSON响应格式JsonResult类UserController类定义枚举表示服务器端响应的状态值JsonResult类UserController类优化JsonResult类JsonResult类新增成功方法和失败方法。UserController类...

2022-06-04 10:39:12 166

原创 Spring Boot Validation

Spring Boot Validation是Spring Boot整合了Hibernate Validation的一个框架,其核心是Hibernate Validation,此框架的作用是检验客户端向服务器端提交的请求参数的基本格式是否合法。1.创建一个Spring Boot工程。勾选依赖项2.创建一个UserController类作为控制器类,添加处理登录的方法。启动项目测试打开浏览器观察控制台3.如果使用Spring Boot Validation验证请求参数的基本格式,应将以上方法接收到的数据

2022-06-01 17:38:50 346

原创 Spring MVC - @RequestMapping、@ResponseBody

@RequestMapping作用配置路径 客户端提交的请求是配置路径则自动执行方法@ResponseBody作用将返回值直接响应到客户端

2022-05-01 14:46:36 439

原创 Spring MVC - 接收客户端请求

在pom文件添加spring-webmvc依赖。<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc&lt

2022-04-25 18:00:00 142

原创 Spring MVC - 简介

Spring MVCSpring MVC是基于Spring框架基础之上的,主要解决了后端服务器接收客户端提交的请求,并给予响应的相关问题。MVC = Model + View + Controller,它们分别是:Model:数据模型,通常由业务逻辑层(Service Layer)和数据访问层(Data Access Object Layer)共同构成 View:视图 Controller:控制器需要注意:Spring MVC框架只关心V - C之间的交互,与M其实没有任何关系。Spr

2022-04-24 18:00:00 77

原创 Spring Framework - properties配置文件信息

使用@PropertySource读取配置文件信息代码如下:jabc.propertiesspring.jdbc.url=jdbc:mysql://localhost:3306spring.jdbc.driver=com.mysql.jdbc.Driverspring.jdbc.username=root spring.jdbc.password=1234SpringConfigpackage spring;import org.springframework.contex

2022-04-23 18:00:00 269

原创 Spring Framework - Spring的自动装配机制

Spring的自动装配机制表现为:当需要某个对象时,可以使用特定的语法,而Spring就会尝试从容器找到合适的值,并赋值到对应的位置!最典型的表现就是在类的属性上添加@Autowired注解,Spring就会尝试从容器中找到合适的值为这个属性赋值!例如有如下代码:SpringConfig.javapackage spring;import org.springframework.context.annotation.ComponentScan;import org.springfra

2022-04-22 18:00:00 296

原创 Spring Framework - 管理对象

Spring管理对象的作用域

2022-04-21 21:00:00 898

原创 Spring Framework - 创建对象

关于SpringSpring框架主要解决了创建对象、管理对象的问题。在传统的开发中,使用new关键字及类型的构造方法创建对象。Random random = new Random();创建Spring的工程推荐使用Maven工程。在工程中pom.xml文件添加依赖。依赖项代码从https://mvnrepository.com/网站查询得到。Spring的依赖项名称是spring-context。依赖项代码示例:<dependencies> .

2022-04-01 16:06:14 536

原创 基于ssm的增删改查功能

1.在application.properties里面添加连接数据库的信息。spring.datasource.url=jdbc:mysql://localhost:3306/empdb?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=falsespring.datasource.username=rootspring.datasource.password= //写自己的数据库密码2.创建Em

2022-03-19 19:45:00 1704 3

原创 JAVA学习笔记 MySQL8 - SQL注入

什么是SQL注入用户往传值的地方传递进来了SQL语句导致原有SQL语句的逻辑发生改变,从而达到一些非法目的,这个过程叫做SQL注入。select count(*) from user where username='abcd' and password='' or '1'='1' PreparedStatement带有预编译效果的执行SQL语句的对象。 通过此对象可以解决SQL注入的问题。将编译SQL语句的时间点从执行时提前到了创建时, 在创建PreparedStatement

2022-03-17 18:15:00 322

原创 JAVA学习笔记 MySQL7 - DBCP

DBCPDataBaseConnectionPool: 数据库连接池。 作用: 可以将数据库连接重用,避免频繁开关连接导致的资源浪费。如何使用数据库连接池?1.在pom.xml中添加依赖和连接池。<dependencies> <!-- 连接MySQL数据库的依赖 --> <dependency> <groupId>mysql</groupId> &lt

2022-03-16 18:15:00 821

原创 JAVA学习笔记 MySQL6 - JDBC

JDBCJava DataBase Connectivity:Java数据库连接。 JDBC是Sun公司提供的一套用于Java语言和数据库软件进行连接的API (Application Programma Interface)。 学习JDBC主要学习的就是如何通过Java语言和数据库软件进行连接并执行SQL语句。 为什么Sun公司定义JDBC系列接口? Sun公司为了避免Java程序员,每一种数据库软件都学习一套全新的方法,通过JDBC接口将方法名定义好, 让各个数据库厂商根据此接口中方...

2022-03-16 06:15:00 225

原创 JAVA学习笔记 MySQL5 - sql多表基本操作

关联关系指一个项目中创建的表和表之间存在的业务关系有哪几种关系?一对一:有AB两张表,A表中一条数据对应B表中的一条数据, 同时B表中的一条数据也对应A表中的一条.一对多:有AB两张表,A表中一条数据对应B表中的多条数据, 同时B表中的一条数据对应A表中的一条.多对多: 有AB两张表,A表中一条数据对应B表中的多条数据, 同时B表中的一条数据也对应A表中的多条.表和表之间如何建立关系一对一: 在AB 任意一张表里面添加一个建立关系的字段 指向另外一张表的主键一对多: 在一对多的两张表中,

2022-03-15 13:32:45 112

原创 JAVA学习笔记 MySQL4 - sql单表基本操作

整数int(m)和bigint(m) , bigint相当于Java中的long, m代表显示长度,m=5 存18 得到00018, 需要结合zerofill关键字使用。浮点数double(m,d) m代表总长度,d代表小数长度 m=5,d=3 54.321。字符串char(m): 固定长度, m=5 存"abc" 占5个字符长度, 执行效率略高,当存储内容长度固定时使用,比如:性别 m最大值255。 varchar(m):可变长度, m=5 存"abc" 占3个字符长度,更.

2022-03-14 15:45:00 1456

原创 JAVA学习笔记 MySQL3 - 数据相关

1.添加表字段最后面添加格式: alter table emp add 字段名 类型; 最前面添加格式: alter table emp add 字段名 类型 first; 某字段后面添加格式: alter table emp add 字段名 类型 after 字段名;alter table emp add age int;alter table emp add id int first;alter table emp add gender varchar(10) after name;2

2022-03-13 18:30:00 858

原创 JAVA学习笔记 面向对象4 - 继承

继承继承已存在的类称为父类、超类、或者基类,从父类中派生的类称之为子类或者派生类。 作用:代码复用 通过extends来实现继承 超类/父类:共有的属性和行为 派生类/子类:特有的属性和行为 派生类既能访问自己的,也能访问超类的,但超类不能访问派生类的 一个超类可以有多个派生类 一个派生类只能有一个超类-----------单一继承 具有传递性 java规定:构造派生类之前必须先构造超类 派生类的构造方法中若没有调用超类的

2022-03-13 14:55:32 322

原创 JAVA学习笔记 MySQL2 - 表相关

1.创建表格式: create table 名字(字段1名 类型,字段2名 类型,…)charset=utf8/gbk;create table person(name varchar(50),age int)charset=utf8;create table student(name varchar(50),chinese int,math int,english int);2.查询所有表格式: show tables;show tables;ERROR 1046 (

2022-03-12 13:30:00 325

原创 JAVA学习笔记 面向对象3 - 构造方法

构造方法构造方法是一种特殊的方法,它是一个与类同名的方法。(没有返回值类型,连void都没有)对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。注:若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供。this指代当前对象,哪个对象调用方法它指的就是哪个对象。只能用在方法中,方法中访问成员变量之前默认有个this。this的用法...

2022-03-11 13:00:00 137

原创 JAVA学习笔记 MySQL1 - 数据库相关

1.查询所有数据库show databases;2.创建数据库默认字符集格式: create database 数据库名; 指定字符集格式: create database 数据库名 charset=utf8/gbk;create database db1;create database db2 charset=utf8;create database db3 charset=gbk;show databases;3.查询数据库信息格式: show create d

2022-03-11 11:24:57 1039

原创 Mac使用Homebrew安装MySQL

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"brew install mysqlmysql_secure_installationYour password does not satisfy the current policy requirementsmysql -u root -p

2022-03-10 22:13:04 1264

原创 JAVA学习笔记 面向对象2 - 方法重载

方法重载是指在一个类里定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。发生在同一类中,方法名相同,参数列表不同。 编译器在编译时会根据方法的签名自动绑定方法。//方法重载示例public class OverLoad { void send(){ System.out.println("hello,overload"); } void send(String name){ System.out.println(name)

2022-03-10 13:00:00 66

原创 JAVA学习笔记 面向对象1 - 类和对象

类和对象对象:描述的是一个具体的实体,如一张桌子,一个学生,一辆汽车。对象的状态:也称为属性,描述实体的静态特征,如学生的姓名,汽车的颜色。对象的行为:也称为动作,描述实体的动态行为,如学生去跑步,汽车开车,刹车,停车。类:同种类型对象的共性结果。类与对象的关系对象是一个具体的实体,类是对同类型对象的抽象,是一个模版。 对象是类的一个具体实例。一个类可以创建多个实例,实例和对象概念互通。 类是抽象的,不占内存,对象是具体的,占内存空间。定义类和对象以一个学生为例:..

2022-03-09 15:11:07 119

原创 JAVA学习笔记 语言基础6 - 方法

方法用来表示对象的动态行为,是Java编程的基本逻辑单元。修饰词 返回值类型 方法名(参数列表){ 方法体}无参无返回值 有参无返回值 无参有返回值 有参有返回值无参无返回值public class test { public static void main(String[] args) { hello(); } public static void hello(){ System.out.printl...

2022-03-08 13:00:00 52

原创 JAVA学习笔记 语言基础5 - 数组

数组是一种数据类型(引用类型)。 是相同数据类型元素的集合。访问数组元素通过(数组名.length)可以获取数组的长度(元素的个数)。 通过下标/索引来访问数组中的元素,下标从0开始,最大到(数组的长度-1)。遍历/迭代从头到尾挨个走一遍。ArrayIndexOutOfBoundsException(数组下标越界异常)数组下标范围为0到(数组长度-1),超出范围则发生如上的异常数组复制System.arraycopy();小案例:将数组a里20,30,40,50复制到数

2022-03-07 14:03:50 312

原创 JAVA学习笔记 案例 - 随机加法运算器

随机加法运算器

2022-03-06 13:30:00 266

原创 JAVA学习笔记 案例 - 九九乘法表

九九乘法表

2022-03-06 13:15:00 110

原创 JAVA学习笔记 语言基础4 - 循环结构

循环三要素循环变量的初始化 循环的条件(以循环变量为基础) 循化变量的改变(向着循环的结束变)循环结构while循环和do...while循环for循环三种循环结构的选择规则

2022-03-06 13:00:00 122

原创 JAVA学习笔记 语言基础3 - 分支结构

switch可以作用于什么类型的变量上?byte,short,int,char,String,枚举类型。if语句语法if(boolean){ 语句块}执行过程判断boolean的值:若为true,则执行语句块1(if整个结束);若为false,则if直接结束。if...else语句语法if(boolean){ 语句块1}else{ 语句块2}执行过程判断boolean的值:若为true,则执行语句块1(整个结束);

2022-03-05 13:25:06 199

原创 JAVA学习笔记 语言基础2 - 程序设计基础

变量变量是内存中存放数据的空间。声明:所有变量必须先声明才能使用它们。数据类型 变量名1,变量名2,变量名3;数据类型 变量名1=值初始化:第一次赋值。int a = 1104;使用:声明一个变量后就可以使用。命名:只能包含字母、数字、_和$符,并且不能以数字开头。 严格区分大小写。 不能使用关键字。 允许中文命名,但不建议,建议"英文的见名知意"、"小驼峰命名法"八种基本数据类型byte short...

2022-03-04 13:00:46 216

原创 JAVA学习笔记 语言基础1 - Java概述

Java概述

2022-03-03 13:40:35 7883

空空如也

空空如也

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

TA关注的人

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