自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

本人随手记录,内容只是个人看懂程度,对内容有任何疑问请勿打扰

本人随手记录,内容只是个人看懂程度,对内容有任何疑问请勿打扰

  • 博客(294)
  • 收藏
  • 关注

原创 读书笔记---开发艺术---Window和WindowManager

理解Window和WindowManagerWindow表示一个窗口的概念,日常开发接触不多,类似悬浮窗这种东西就需要Window实现。Window本身是一个抽象类,创建需要通过WindowManage。WindowManage是外界访问Window的入口,Window具体实现位与WindowManagerService中。WindowManager和WindowManagerService的交互是一个IPC过程。Android所有试图都是通过Window来呈现的,不管是Activity还是To

2022-05-04 13:17:59 969

原创 读书笔记---深入理解Android内核设计思想(1)

Android内核组成Android内核是由众多系统服务组成的:ActivityManagerServiceGUI系统中的SurfaceFlinger音频系统中的AudioFlinger输入系统InputManagerService

2022-04-14 15:47:46 3861

原创 SpringBoot---JUnit5

…当我们用JUnit4的时候,像是SpringBoot容器中的对象我们都无法得到。现在使用JUnit5之后,当需要SpringBoot容器中对象时,可以添加注解:@SpringBootTest除此以外下面的代码是JUnit5中比较常用的注解(有些注解方法没写,只是做了简单的介绍,用法查询百度)@SpringBootTestpublic class JUnit5Test { //为测试类或测试方法设置展示名称 @Test @DisplayName("1") publi

2021-06-25 14:58:36 353

原创 SpringBoot---使用MyBatis

实践说明:查询数据库中my_user表中的的某条数据实践步骤导入mybatis官方starter <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId>

2021-06-25 11:23:40 104

原创 SpringBoot---使用原生Web组件

原生Web组件Javaweb的三大组件:servlet,Filter,ListenerServlet@Slf4j@WebServlet("/hello")public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

2021-06-24 16:18:27 171

原创 SpringBoot---错误的处理

当我们访问一步不存在url时,都会出现404;当服务端出现问题是都有504,503…这些。自定义错误页面对于默认的错误时的页面,我们可以自定义当出现错误时呈现的页面。在resource/templates/error包下创建名为404,504…的html,如果命名为4xx和5xx,表示,任何4或5开头的页面都使用4xx或5xx...

2021-06-24 14:54:39 166

原创 SpringBoot--数据的上传

代码测试网页主要测试的是:字符串的上传,单文件和多文件的上传。在form标签里面,主要的是enctype属性,还有就是请求方式一定是post。还有就是多文件请求中,一定要在标签内加如 multiple 。<!DOCTYPE html><html lang="en"xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>Title&

2021-06-24 00:59:55 203 1

原创 SpringBoot---拦截器配置

应用场景举例对于一些网页上,在未登录的情况下,不允许方面里面的内容,必须先登录。但是,一个一个访问请求配置太过于麻烦,所以配置拦截器,也相当于JavaWeb的过滤器,就可以更加便捷。环境配置环境时SpringBoot环境,可以直接将之前SpringBoot文章的pom拿过来使用。基础环境配置基础环境是两个简单的网页,还有一个js(该js用于测试静态资源是否被拦截器所拦截)登录页面:<!DOCTYPE html><html lang="en" xmlns:th="http:

2021-06-23 15:24:37 98

原创 SpringBoot---解决重复提交表单问题

Web环境配置很简单,只是为了测试。<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="utf-8"> <title>登录</title></head><form method="post" action="main.html" th:action="@{/ind

2021-06-22 13:05:31 635

原创 thymeleaf的初次使用

thymeleaf概念上建议百度thymeleaf的语法th:xxxxx=${}th:xxxxx=#{}....具体的可看官方文档使用导入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId>

2021-06-06 17:06:51 119

原创 初识Mybatis-Plus

Mybatis-plusMybatis-plus不是官方的,而是别人扩展的官网环境配置因为mybatis-plus是数据库的操作,所以我们需要先配置以下mysql的环境:CREATE TABLE USER(id INT NOT NULL,NAME VARCHAR(20) DEFAULT NULL)然后就是往里面添加一些数据。然后结合Springboot一起使用,所以引入springboot web场景。pom.xml环境配置 <parent> &l

2021-06-03 17:01:49 144

原创 Redis---集群

如果对Redis的集群不是很理解,建议百度集群能够解决什么问题?容量不够,redis如何进行扩容并发写操作,redis如何分摊环境配置以3主机3从机为例复制一份redis.conf,命名为:redis2.conf,redis3.conf…将port改为6380检查daemonize 是否为yespidfile路径改为:/path/to/redis6380.piddbfilename后面文件名:dump6380.rdbAppendonly关掉,设为no打开集群模式:cluster

2021-05-15 03:14:08 81

原创 Redis---主从复制

主机(master)从机slave主从复制主机以写为主,从机以读为主主要用途读写分离数据容灾恢复高并发、高可用集群实现的基础主要语法info replication

2021-05-14 20:00:01 119 3

原创 Redis---事务

Redis事务Redis中的事务和mysql中的事务不一样。Redis事务是个单独的隔离操作:事务中的所有命令都会序列化,按顺序执行。事务在执行过程中,不会被其他客户端发送的命令请求打断。主要作用串联多个命令防止别的命令插队关键词Multi理解为:准备阶段(组队阶段)。从输入Multi命令开始,输入的命令都会进入命令队列,但不会执行,直到输入Exec开始,会依次进行执行。Exec执行阶段discard在组队过程中,可以输入discard放弃组队代码示例:multi set ke

2021-05-14 15:10:10 69

原创 Redis---SpringBoot中使用Redis

pom配置主要的maven导包: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <group

2021-05-13 17:37:17 132

原创 Redis---Java操作Redis(Jedis)

环境配置导入pom依赖: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency>编辑redis配置文件第一点:在redis配置

2021-05-13 16:16:03 123

原创 Redis---新数据类型

Bitmap如何去理解Bitmap?Bitmap就相当于下面这么一串数组,每个单元只能存储0和1。设置bitmaps中某个偏移量的值setbit key (offer) 0/1获得bitmaps中某个偏移量的值getbit key (offer)统计字符串被设置为1的bit数bitcount key也可以在后面追加两个参数:开始位置和结束位置bitcount key 0 10多个bitmap之间进行and(交集),or(并集),not(非),xor(异或)操作,然后将结果保存

2021-05-13 14:35:28 83

原创 Redis---发布和订阅实现

什么是发布和订阅redis发布订阅是一种消息通信模式,发送者发送消息,订阅者接收消息。redis客户端可以订阅任意数量的频道步骤:步骤1打开一个客户端,进行频道订阅:关键词:subscribe订阅channel频道subscribe channel步骤2打开另一个客户端,给频道channel发送消息关键词:publishpublish channel helloworld...

2021-05-11 21:20:31 52

原创 Redis---常用基本语法(2)

Hash哈希常用于 对Java对象的存储。将哈希user1的name字段属性赋值为Tom,age字段赋值18hset user1 name Tom hset user1 age 18批量数据存储hmset user1 name Tom age 18 从哈希user1取出name字段hget user1 name判断哈希user1是否存在name字段hexists user1 name查看哈希user1里的所有字段hkeys user1查看哈希user1中所有字段对应的v

2021-05-11 20:51:05 69

原创 Redis---常用基本语法

基本语法查看当前库所有的keykeys *判断某个key是否存在exists key查看key是什么类型type key存入键值对set key value删除指定keydel key根据value选择非阻塞删除unlink key通过key获得valuesget key 向指定key的value尾部追加字符串valueappend key value查看指定key的value长度strlen key当key不存在时,才存入该键值对setnx key

2021-05-11 19:34:41 155

原创 SpringBoot--- 静态资源

静态资源的访问在SpringBoot中,静态资源一般放在resources目录下的这些包下:/static/META-INF/resources/public只要静态资源放在类路径下,都可以直接用 根目录+静态资源名 进行访问原理:静态映射:/**假设有一个请求名称是跟静态资源名称一样,那么会先去看Controller能不能处理,如果不能处理,则交给静态资源处理器。如果静态资源也找不到则404静态资源前缀:在application.yml下添加: spring:

2021-05-11 02:14:10 192

原创 SpringBoot ---常用开发方式

lombokLombok是一种使用简化Java开发的工具。案例:导入pom依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> <sc

2021-05-11 02:08:31 72

原创 SpringBoot--注解使用

@Configuration功能:给类添加该注解,等于该类为配置文件。可用于Spring中的IOC中省去写配置文件bean.xml。相当于全注解开发。之前在Spring中需要用xml进行bean管理,现在的话,可以这么写:@Configuration(proxyBeanMethods = true)public class MyConfiguration { @Bean //以方法名作为组件id public User getUser(){ return new Use

2021-05-06 19:58:34 79

原创 SpringMVC---使用

实现转发和重定向关键词:redirect:重定向forward:转发没有视图解析器的情况记得把视图解析器的代码注释掉先。默认不写的情况是转发。关于转发与重定向的相关信息请看这篇文章。@Controller@RequestMapping("/two")public class TwoController { @RequestMapping("/test1") public String getTest1(Model model){ //使用重定向

2021-05-05 14:35:17 87

原创 Spring MVC--RestFul风格

首先看到该类:@Controller@RequestMapping("/three")public class ThreeController { @RequestMapping("/test") public String test(int a, int b, Model model){ int c=a+b; model.addAttribute("msg",c); return "/test"; }}

2021-05-05 12:24:28 61

原创 SpringMVC---初识SpringMVC

什么是SpringMVC建议百度SpringMVC的使用在JavaWeb开发中,我们需要创建Servlet然后去web.xml去注册。而在SpringMVC中,用controller去代替了Servlet,而且也不再需要去web.xml去注册了。但还是要去web.xml注册配置DispatchServlet这个类。DispatchServletSpringMVC的核心:请求分发器,前端控制器。按照JavaWeb的理解就是,这个类帮我们去注册Servlet。再SpringMVC中也就是帮我们

2021-05-04 18:55:51 112 2

原创 MyBatis---缓存

(该内容使用的数据库环境是前面文章的)要观察到MyBatis的缓存情况,首先要配置log4j进行日志的打印,如何进行配置可以查看配置那篇文章。一级缓存默认是开启的,只在一次sqlSession中有效,也就是拿到连接和关闭连接这个区间。我们对数据库进行两次同样情况的查询,也就是对表中,id等于1的查询。发现只是进行了一次sql语句的执行。而且使用的List对象是同一个。 @Test public void test(){ //获取SqlSession对象

2021-05-03 19:37:29 56

原创 MyBatis---复杂属性的查询

数据库环境配置CREATE TABLE teacher( id INT NOT NULL, NAME VARCHAR(20), PRIMARY KEY(id));CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, t_id INT NOT NULL, FOREIGN KEY (t_id) REFERENCES teacher(id));INSERT INTO te

2021-05-01 02:24:50 250 1

原创 Mysql语法2

表操作添加新列给user表添加新的列“age”(column可以省略)。alter table user add column age int删除列将user表的“age”列删除(column可以省略)。alter table user dtop column age修改表名将user表改名为usertablealter table user rename to usertable修改列的类型或约束将user表中“age”的类型改为varchar(10)alter table

2021-04-28 01:49:00 336

原创 MySql语法

创建表:CREATE TABLE `user`( `username` VARCHAR(20) NOT NULL PRIMARY KEY, `password` VARCHAR(20) NOT NULL);插入表内数据insert into`user`(`username`,`password`)VALUES('123','123')修改表内数据UPDATE `user` SET username=132,PASSWORD=132 WHERE username=12345 删除表内数

2021-04-21 20:17:31 224

原创 MyBatis---配置文件

properties标签用于引入外部文件,也可以在标签内配置属性 <!--引入外部配置文件--> <properties resource="db.properties"> <!--配置属性--> <property name="driver" value="com.mysql.jdbc.Driver"/> </properties&gt

2021-04-20 21:47:46 82

原创 MyBatis---使用

什么是MyBatis导入相关依赖maven: <dependencies> <!--mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</ve

2021-04-17 19:05:09 97

原创 SpringBoot---SpringBoot配置

在之前用Spring framework的IOC和AOP时,我们都会去创建一个配置文件,去创建一个IOC容器和端口扫描之类的标签。而SpringBoot不这么做,一般都不会去创建这么一个配置文件(xml),而是去创建一个配置类,也就是全注解配置。实践演示:练习bean类:public class Parent { private String name; //........ //省略构造方法,get,set方法,toString}public class Children {

2021-04-15 18:30:00 91

原创 SpringBoot---初识SpringBoot

什么是SpringBoot在实际开发中,我们有时候需要使用Spring Framework框架,或者有时需要使用Spring Web 框架,这就导致有时候需要导入很多jar包。而SpringBoot就是这全部Spring框架的整合,通过maven自动化部署引入Spring框架。使用步骤:1,创建maven工程maven配置文件就是pom.xml2,引入SpringBoot依赖 <parent> <groupId>org.springframework.bo

2021-04-15 15:00:00 84

原创 Spring---事务

什么是事务事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败。事务的特性:1,原子性:过程中要么都成功,要么都失败2,一致性:操作前后,总量不变3,隔离性:操作之间不产生影响4,持久性Spring进行事务管理的两种方式:1,编程式事务管理2,声明式事务管理(使用)声明式事务管理实现方式:1,基于注解方式(使用)2,基于xml配置文件方式底层原理:Spring进行声明式事务管理,底层使用AOP原理基于注解的实现步骤:1,在Spri

2021-04-11 13:57:44 87

原创 Spring---JDBCTemplate

什么是JDBCTemplate:Spring框架对JDBC进行封装,使用JDBCTemplate方便实现对数据库进行操作。也就是说,JDBCTemplate是Spring的内容。当创建Spring项目时,会自动导入jar包。使用目的:方便我们对数据库的操作。为了演示操作,会通过druid配合进行操作。准备工作:1,引入druid,mysql的jar包2,在spring配置文件中配置数据库连接池3,配置JDBCTemplate对象,注入数据库连接池对象4,创建Service,创建dao类

2021-04-07 01:05:42 127

原创 Spring---初识AOP

AOP:面向切面(方面)编程通俗描述:不修改源代码方式,在主干功能里面添加新功能底层原理:AOP底层使用了动态代理1,有接口情况,使用JDK动态代理:创建接口实现类代理对象,增强类方法2,没有接口情况,使用CGLIB动态代理:创建子类的代理对象,增强类方法如果对动态代理不熟悉,可以开该文章,点击链接AOP术语:1,连接点类里面的哪些方法可以被增强,就被称为连接点2,切入点实际被真正增强的方法,称为切入点3,通知(增强)通知的五种类型:1,前置通知2,后置通知3

2021-04-05 20:11:41 98 1

原创 Spring---初识IOC(2)

什么是自动装配:根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入实现自动装配步骤:bean标签属性autowire,配置自动装配autowire属性常用两个值:byName:根据属性名注入,注入值bean的id值和类属性名称一样byType:根据属性类型注入xml配置文件:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.

2021-04-04 17:24:48 97

原创 Spring---初识IOC

IOC容器:将会了解到什么?(1)IOC底层原理(2)IOC接口(BeanFactory)(3)IOC操作Bean管理(基于xml)(4)IOC操作Bean管理(基于注解)什么是IOC:(1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理(2)使用IOC目的:降低耦合度IOC底层原理:(1)xml解析,工厂模式,反射IOC过程:(1)配置xml文件,配置创建的对象(2)有Service类和dao类,创建工厂类IOC(接口):1,IOC思想

2021-04-01 16:36:27 98 1

原创 JavaWeb---Filter

什么是Filter?1,JavaWeb三大组件之一2,是JavaEE的规范,也就是接口3,作用:拦截请求,过滤响应使用步骤:1,编写一个类实现Filter接口2,实现过滤方法doFilter()3,到web.xml配置Filter的拦截路径public class FilterDemo implements Filter { public void destroy() { System.out.println("Filter destroy"); }

2021-03-31 16:13:42 81

空空如也

空空如也

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

TA关注的人

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