自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一、时钟控制

STM32F4有五种时钟源。

2024-06-12 12:10:23 909

原创 前台报错Post400:Bad request ,The request sent by the client was syntactically incorrect.

今天在工作中遇到报400的错误,前台报错Post400:Bad request ,The request sent by the client was syntactically incorrect., 后台没反应后来经过排查,才得知:前后台参数是一致的,但有个参数值=null,直接报400心得:可以给后台传字符串null,但不能传null空值...

2020-12-17 12:00:39 282

原创 JavaScript ES6学习记录(一)

1.ES6类与对象1.1 创建类class Star{ //构造函数 constructor(name, age, song) { this.name = name; this.age = age; this.song = song; } //类方法 sing(){ console.log(this.name + '唱过'+ this.song) }} var ldh = new Star("刘德华", 55, "十八岁

2020-11-30 10:24:05 173

原创 Java多线程记录

目录多线程的创建方式一:继承java.lang.thread,重写run方法,创建子类实例,调用子类start方法认识多线程中的 start() 和 run()方式二:实现Runnable接口,创建thread实例,将Runnable接口传入构造函数方式三:实现Callable接口(JDK8新特性)线程的生命周期设置/获取线程名字获取当前线程对象sleep静态方法sleep面试题interruput终断休眠stop终止线程线程的调度1.1常见的线程调度

2020-11-02 18:17:39 537

原创 MySQL学习记录(三)

目录1、约束1.1、唯一性约束(unique)1.2、主键约束1.3、外键约束2、存储引擎?(整个内容属于了解内容) 2.1、完整的建表语句 2.2、什么是存储引擎呢?2.3、查看当前mysql支持的存储引擎? 2.4、常见的存储引擎?3、事务(Transaction) 3.1、什么是事务?3.2、和事务相关的语句只有:DML语句。(insert delete update) 3.3、假设所有的业务都能使用...

2020-10-27 09:31:32 212

原创 MySQL学习记录(二)

1、关于查询结果集的去重?mysql> select distinct job from emp; // distinct关键字去除重复记录。+-----------+| job |+-----------+| CLERK || SALESMAN || MANAGER || ANALYST || PRESIDENT |+-----------+ mysql> select ename,distinct job from emp;以...

2020-10-27 09:23:43 88

原创 MySQL学习记录(一)

SQL语句分类:DQL(数据查询语言):查询语句,凡是select语句都是DQL DML(数据操作语言):insert,delete,update对表中的数据增删改 DDL(数据定义语言):create,drop,alter对表结构的增删改 TCL(事务控制语言):commit提交事务,rollback回滚事务 DCL(数据控制语言):grant授权,revoke撤销权限等导入数据 第一步:登录mysql数据库管理系统 dos命令窗口: my...

2020-10-25 09:52:01 88

原创 SpringBoot Controller接收参数的几种常用方式

第一类:请求路径参数1、无注解,形参名==前台参数名 @RequestMapping("login") public boolean login(String name, String password) { Map<String, String> map = new HashMap<>(); map.put("name",name); map.put("password",password); .

2020-10-23 16:15:18 736

原创 SpringBoot跨域问题解决的两种后端方法

何为跨域:只要协议、域名、端口有任何一个不同,都被当作是不同的域。跨域问题导致403: 表示资源不可用。服务器理解客户的请求,但拒绝处理它,通常由于服务器上文件或目录的权限设置导致的WEB访问错误。跨域资源共享(CORS)CORS(Cross-Origin Resource Sharing)跨域资源共享,定义了必须在访问跨域资源时,浏览器与服务器应该如何沟通。CORS背后的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是失败。服务器端对于CORS

2020-10-23 12:50:52 428

转载 mybatis中传入多个参数的4个解决方法

1. 利用参数出现的顺序Parameter ‘id’ not found. Available parameters are [arg1, arg0, param1, param2],这句话的意思就是id找不到,可用的参数是[arg1, arg0, param1, param2]。所以可使用参数出现的顺序号码引用参数,第一个参数用arg0或param1表示,第二个参数用arg1或param2表示,以此类推(arg从0开始计数,param从1开始计数)。修改xml为如下方式:<select

2020-10-23 10:28:15 597

转载 SpringBoot 配置静态资源映射

SpringBoot 配置静态资源映射(嵌入式servlet容器)先决知识request.getSession().getServletContext().getRealPath("/"),这个很重要,将其称为 docBase,即 “文档基目录” 在单模块项目中,如果不存在 src/main/webapp 目录,则 docBase 被设置为C盘下临时的随机目录,例如 C:\Users\Administrator\AppData\Local\Temp\tomcat-docbase.287224657

2020-10-09 15:13:39 483

转载 WebJars简介 —— 前端资源的jar包形式

WebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架、组件。什么是WebJars什么是WebJars?WebJars是将客户端(浏览器)资源(JavaScript,Css等)打成jar包文件,以对资源进行统一依赖管理。WebJars的jar包部署在Maven中央仓库上。为什么使用我们在开发Java web项目的时候会使用像Maven,Gradle等构建工具以实现对jar包版本依赖管理,以及项目的自动化管理,但是对于JavaScript,Css等前端资源包,我们只能

2020-10-09 12:44:41 187

转载 SpringBoot日志实现

SpringBoot日志实现SpringBoot日志默认实现SpringBoot默认的日志实现是使用slf4j+logback,这种实现类似于JDBC + 数据库驱动(统一接口+实现类)。slf4j叫做日志门面,是一个统一的日志接口层,各种具体的日志实现都可以通过slf4j来实现,比如logback就是一个具体的日志门面的实现。常见日志框架市面上常见的日志框架有:JUL , JCL , Jboss-logging , logback , log4j , log4j2 , slf4j等

2020-10-09 12:09:53 382

原创 SpringBoot多环境配置profiles

1.什么是Profiles?Profile 可以让 Spring 对不同的环境提供不同配置的功能,可以通过激活、指定参数等方式快速切换环境2.SpringBoot的主配置文件application.yml的存放路径共有4种file:config/file:/classpath:config/classpath:/优先级从高到底2 多Profile文件形式在进行实际开发的时候,分为本地环境、测试环境和生产环境,这就需要配置多个配置文件,如端口号等等,我们当然可以每更换一个环境就改一次配

2020-10-07 21:04:08 484

原创 SpringBoot配置文件

SpringBoot使用一个全局的配置文件,配置文件名是固定的application.propertiesapplication.yml配置文件的作用:修改springboot自动配置的默认值

2020-10-07 12:22:44 122

原创 SpringBoot 原理初探

自动配置:pom.xmlspring-boot-dependences核心依赖在父工程中我们在写或者引入springboot依赖的时候,不需要指定版本,就因为有这些版本仓库<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version&gt

2020-10-07 10:30:21 115

原创 @RestController和@Controller区别

@RestController = @ResponseBody + @Controller① 是否可以返回页面答:@RestController无法返回指定页面,而@Controller可以。  解析:对于Controller, 如果只是使用@RestController注解,则其方法无法返回指定页面,此时配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是 return 里的内容。 如果需要返回到指定页面,则需要用 @Controller配合视图解析器I

2020-10-04 13:38:27 337

原创 Bean named ‘xxx‘ is expected to be of type ‘xxxx‘ but was actually of type ‘com.sun..proxy.$Proxy19‘

在SSM项目中的Service层遇到了这个报错org.springframework.beans.factory.BeanNotOfRequiredTypeException: Beannamed ‘employeeServiceImpl’ is expected to be of type‘com.mlj.service.EmployeeServiceImpl’ but was actually of type‘com.sun.proxy.$Proxy19’名为employeeService

2020-09-29 16:11:36 2633 1

原创 MySQL数据表中有自增长主键时如何插入数据

当列为自增主键时,有两种方式插入数据1.插入自增主键,不能与已存在的主键重复2.不插入自增主键,Mysql会自动维护MySQL自增主键维护:空表默认从1开始默认从最大值开始自增自增主键设置: primary key AUTO_increment...

2020-09-29 12:47:30 585

转载 Spring 事物 属性expression=“execution(*service..*.*(..))“

1、execution(): 表达式主体 (必须加上execution)。2、第一个*号:表示返回值类型,*号表示所有的类型。3、包名:表示需要拦截的包名,后面的两个句点表示当前包和当前包的所有子包,cn.smd.service.impl包、子孙包下所有类的方法。4、第二个*号:表示类名,*号表示所有的类。5、*(…):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。书写的注意事项:execution(* cn.smd.service.impl..(…

2020-09-29 10:00:17 814

原创 Mybatis-Spring整合

1.引入依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version></dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybat

2020-09-24 15:37:07 120

转载 Mybatis-cache缓存

缓存Mybatis缓存分为一级缓存和二级缓存缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。缓存体系结构:MyBatis 跟缓存相关的类都在cache 包里面,其中有一个Cache 接口,只有一个默认的实现类 PerpetualCache,它是用HashMap 实现的。我们可以通过 以下类找到这个缓存的庐山真面目DefaultSqlSession->

2020-09-23 21:03:04 267

原创 Mybatis-复杂查询多对一&&一对多

生活中有许多常见的多对一和一对多的场景:老师与学生student: id,name,tidteacher: id,name多对一:查询出所有的学生信息以及学生的老师SQL语句:SELECT s.id,s.`name`,t.`name`from student s,teacher twhere s.tid=t.id;Bean:public class Student { private int id; private String name; private Teacher te

2020-09-23 13:15:06 143

原创 MySQL外键约束

为mysql数据表建立主外键需要注意以下几点:需要建立主外键关系的两个表的存储引擎必须是InnoDB。外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型。外键列和参照列必须创建索引,如果外键列不存在索引,mysql将自动创建索引。CREATE TABLE student( id int(20) not null PRIMARY key, `name` VARCHAR(30) NULL, tid int(20) DEFAULT null, CONSTRAINT fk_tid f

2020-09-22 19:27:04 93

原创 Mybatis-解决字段不一致问题引出结果集映射ResultMap

数据库字段名实体类属性名查询结果:[id=1, password=null, name=米兰]可见当返回实体类和数据库字段不一致时,会找不到对应的赋值原因:<select id="getUsers" resultType="COM.MLJ.MYBATIS_STUDY.User"> select * from user1; //select id,name,pwd from user1; //查出来的pwd与password不对应 </select&

2020-09-22 17:16:12 1782

原创 Mybatis-XML配置

XML 映射配置文件MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。properties这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。例如:<properties resource="org/mybatis/example/config.properties"> <property name="username" va

2020-09-22 10:15:16 110

原创 Mybatis入门案例

1.安装要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可。如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version>

2020-09-20 17:16:35 184

原创 Spring注解开发

一。使用注解开发XML配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:sc

2020-09-19 19:46:49 76

原创 Bean的自动装配

Spring自动装配是满足Bean依赖的一种快捷方式Spring会通过上下文,来自动为Bean的属性自动装配在Spring中有三种装配方式在XML中的配置在Java中的配置隐式的自动装配(重要)byName的意思是将上下文中与该bean的属性名相同的其他bean装配起来。弊端:要求id与属性名一致<bean id="student" class="di.Student" autowire="byName">2.byType是将上下文中与该属性有相同类型的bean装.

2020-09-17 21:17:06 137

原创 Bean的作用域Scope

在Spring中,bean作用域用于确定哪种类型的bean实例应该从Spring容器中返回给调用者。目前Spring Bean的作用域或者说范围主要有五种。作用域描述singleton在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,bean作用域范围的默认值。prototype每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean()。request每次HTTP请求都会创建一个新的Be

2020-09-17 20:34:48 145

原创 Spring自动注入AutoWire, 加载配置文件,scope属性

一:自动注入1.在spring配置文件中对象名和ref=“id” id 名相同使用自动注入,不需要配置2.两种配置方法2.1 在标签中通过autowire="“配置,只对这个bean有效2.2 在标签中通过default-autowire=”“配置,表示当前文件中所有都是全局配置内容3. autowire=”“可取值3.1 default: 默认值,根据全局default-aut...

2019-12-09 20:53:03 602

原创 使用注解配置AOP

一.实现步骤(基于AspectJ)在spring配置文件中勾选context 命名空间xmlns:context=“http://www.springframework.org/schema/context”spring不会自动寻找注解,必须告诉spring哪些包下可能存在注解<context:component-scan base-package="com.mlj.spring...

2019-11-30 16:44:44 114

原创 Spring AOP面向切面编程

一.常用概念:原有功能: 切点 pointcut前置通知: 在切点之前执行的功能, before advice后置通知: 在切点之后执行的功能, after advice异常通知: 如果切点执行过程中出现异常,则触发异常通知 throws advice切面: 所有功能的总称织入:把切面嵌入到原有功能的过程叫织入二.spring提供了两种AOP实现方式2.1 Schema-bas...

2019-11-30 15:48:40 117

原创 Spring DI(IOC)

DI: 依赖注入IOC:控制反转DI是什么:*DI和IOC是同一个概念*当一个类A需要依赖另一个类B对象时,就把对象B给A的过程就叫依赖注入<bean id="peo" class="com.mlj.springstudy.People"> <!-- name:参数名称 value:普通类型或String等 --> <property nam...

2019-11-27 21:57:08 75

原创 Spring创建对象的三种方式

通过构造方法创建1.1 无参构造方法:默认情况1.2 有参构造方法:需要明确配置<!-- id: 获取对象的标识 class: 对象的全类名 --> <bean id="peo" class="com.mlj.springstudy.People"> <!-- index: 参数下标 name : 参数名称 ...

2019-11-27 21:22:24 206

原创 Filter 过滤器

过滤器如何编写1.写一个类实现Filter接口2.在web.xml中配置1.Filter 接口public class filter implements Filter{ /** * 销毁前执行, 服务器关闭时销毁 */ @Override public void destroy() { } /** * 每次过滤时都会执行 */ @Overrid...

2019-11-24 14:17:18 60

原创 Web 路径概述

2019-11-19 18:11:05 64

原创 编码之请求编码

2019-11-19 12:38:47 107

原创 编码之响应编码

2019-11-19 12:20:33 82

原创 请求转发与重定向,request域

2019-11-19 11:56:30 325

空空如也

空空如也

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

TA关注的人

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