- 博客(82)
- 资源 (10)
- 收藏
- 关注
原创 AOP技术
OCP开闭原则,对扩展开放,对修改关闭,在不改变原有系统核心业务代码的基础上动态添加一些扩展功能并可以控制对象的执行。AOP,面向切面编程,是一种设计思想,基于OCP(开闭原则),通过预编译方式和运行期动态代理方式,实现在不修改源码的情况下,添加额外的功能的一种技术。AOP 通常应用于日志处理,事务处理,权限处理,缓存处理等。@Component@Slf4j@Aspect}}spring框架中提供了一种声明式事务的处理方式,此方式基于AOP代理,可以将具体业务逻辑与事务处理进行解耦。
2022-12-27 15:21:49 1070
原创 Java多线程,Android多线程
很多多线程都是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器,如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错觉。创建线程的三种方式1,继承Thread,特点:局限性,单继承2,实现Runnable接口,特点:灵活,方便同一个对象被多个线程使用3,实现Callable接口静态代理模式 真实对象和代理对象药实现同一个接口,代理对象要代理真实角色;代理对象可做很多真实对象做不了的事情,真实对象专注做自
2022-03-16 09:16:00 31825
原创 Idea创建分布式(聚合)项目步骤
二、创建步骤1、创建一个空项目2、创建maven父工程-maven-pom等待构建完成(打包方式为pom)此时的目录结构:需要注意的是,生成的pom文件中没有parent标签(该标签定义了父级的依赖项,定义了springboot内部的全部关联配置),这里需要手动添加,否则导入依赖 <parent> <groupId>org.springframework.boot</groupId&.
2022-03-10 15:43:23 3001 3
原创 linux常用指令
cd命令 ifconfig 查看IP地址 cd / 返回根目录 cd ~,cd /root,cd 用户主目,三者效果相同 cd . 当前目录 cd .. 返回到上一级目录 cd - 返回到上一个目录 cd usr 进入到usr目录 pwd 查看当前目录的结构 ls命令 ls 查看当前目录中的内容 ls -l 查看目录中内容的更加详细的格式 ls *.txt 查看目...
2022-03-09 16:30:40 486
原创 网络模式哈哈哈
桥接模式相当于将虚拟机直接接入到局域网中,这时会独占IP地址,可以与本机通过局域网通信,特点是所有的局域网中的IP都可以访问虚拟机NAT模式相当于在网络环境中开辟一块全新的网络控件,只有主机能够访问,特点是NAT模式只有主机访问,其他人通过IP地址禁止访问,计算机通过IP地址等进行连接,但是必须保证在同一个网段之内...
2022-03-09 08:47:05 95
原创 Android利用贝塞尔曲线实现翻书效果(适配AndroidX)
实现背景不知道你有没有遇到同样的问题,要实现翻书效果,但是从Android P开始,Canvas.clipPath(@NonNull Path path, @NonNull Region.Op op) ; 已经被废弃,而且是包含异常风险的废弃API,只有Region.Op.INTERSECT 和 Region.Op.DIFFERENCE 得到兼容,严重影响3D翻书效果的实现参考了网上好多方法都不行,这里就不过多说了,无奈自己研究吧效果实现...
2022-02-08 08:50:13 452
原创 沉浸状态栏下输入框如何被软键盘顶起
要实现的效果方法只需要在根目录下添加android:fitsSystemWindows="true"<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="ma
2022-01-26 10:15:05 2219
原创 第三方相关 — Android微信登录
1,首先在微信开放平台上注册应用,填写相关信息,获取appid2,把固定参数配置搭配到常量文件或gradle中buildConfigField "String","WEIXIN_KEY",'""'// 微信登录appidbuildConfigField "String","WEIXIN_SCOPE",'"snsapi_userinfo"'// 微信登录scopebuildConfigField "String","WEIXIN_STATE",'"wechat_sdk_demo_te
2022-01-13 10:37:39 3684
原创 Ajax在springboot项目中的使用
Ajax简介Ajax是一种web应用技术,可以借助客户端脚本(javascript)与服务端应用进行异步通讯,获取服务端数据以后,可以进行局部刷新,进而提高数据的响应和渲染速度。所有的Ajax请求都会基于DOM(HTML元素)事件,通过XHR(XMLHttpRequest)对象实现与服务端异步 通讯局部更新。Ajax在...
2021-12-24 09:19:27 3245
原创 mybatis-plus基础查询语句
集成依赖包地址https://mp.baomidou.com/创建本地数据库创建本地数据库,并创建用户表,假如我创建了一个user表,id设置为自增的主键初始化项目新建spring-boot项目
2021-07-15 21:35:21 2337 1
原创 spring boot 利用配置文件,实现数据动态注入
准备工作首先在yml文件中,手动添加测试数据方式1:@value使用@Value("${}")注解来获取说明:当spring容器启动时,会加载yml文件,动态实现数据封装,解析到@Value注解的时候,会根据key来查询spring中的map集合来获取value,从而赋值给对应属性。@RestController //这个注解是@Controller+@ResponseBody的合体public class JDBCController { @Value("${j..
2021-07-14 15:23:01 633 1
原创 eclipse搭建Spring boot项目
分步骤集成1,整合连接池hikariCP介绍:HikariCP 是一个高性能的 JDBC 连接池组件,可以避免连接频繁建立、关闭的开销,实现数据库连接复用; 导入方式:创建spring boot项目,集成如截图 配置application.properties文件 spring.datasource.url=jdbc:mysql://ip地址/你的数据库名?serverTimezone=GMT%2B8 spring.datasource.us
2021-05-24 20:06:33 2070 6
原创 eclipse配置了mybatis的dtd文件,mapper.xml依然不会自动提示的问题
目录1,正确配置2,为什么你配置了dtd文件,依然不生效?1,xml文件不全1,正确配置如图:有人说这里的keytype要对应着写比如你选的public ID 那你的key就要写成-//mybatis.org//DTD Mapper 3.0//EN比如你选的URI 那你的key就要写成http://mybatis.org/dtd/mybatis-3-mapper.dtd其实这里没什么关系,网上的说法都太诱导人了,随便选public ID即可,...
2021-05-11 22:20:14 1686 3
原创 Flutter 路由跳转和传值
首先新建两个路由方式一:pushNavigator.push(context, MaterialPageRoute(builder: (context) { return SecondApp(); }));void main() => runApp(MainApp());class MainApp extends StatefulWidget { @override State<StatefulWidget&...
2020-10-12 13:04:08 1785 1
原创 安卓常见面试问题汇总
Java四种内部类将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类成员内部类成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)public class InnerTest { private int x=0; private static int y=0; public void show() { System.out.println("外部类"); } class Inner{ public void sh
2020-09-07 09:24:32 412
原创 Android开发常见问题汇总(持续更新,如有问题,请留言)
(2020-08-20 Android studio4.0版本)AndroidStudio编译时或者打包apk的时候报错:Timeout waiting to lock artifact cache .尝试网上说的【File】–>【Invalidate Caches/Restart】,但是并不好使,没办法了,只能暴力解决,我分析原因,就是电脑卡顿导致的运行错误,导致文件上锁;解决办法:关闭android studio ,删除项目中的gradle文件和.gradle文件; 删除你配置a.
2020-08-20 17:09:46 207
原创 MyBatis框架基础在eclipse中使用的最全教程
它封装了JDBC操作的繁琐操作,对JDBC进行了封装Eclipse中配置mybatis-3-config.dtd,目的是让后面的xml文件有提示下载链接:http://mybatis.org/dtd/mybatis-3-config.dtdhttp://mybatis.org/dtd/mybatis-3-mapper.dtd...
2020-08-03 21:46:00 2852
原创 cookie与session
cookie作用就是用来保存浏览器会话过程中产生的数据,比如我们在网页上登录,下次打开该网页,发现会有提示我们之前输入过的信息,这便用到cookie保存数据的原理这里先模拟一个浏览器手机号登录功能,下次打开浏览器登录会发现,输入框会提示我们之前输入的手机号Cookie是一种key=value形式的字符串,定义了一些HTTP请求头和HTTP响应头,基于两个头Set-Cookie响应头和Cookie请求头进行工作,通过这些HTTP头信息使服务器可以与客户进行状态交互。客户端...
2020-07-26 11:35:21 295
原创 mac环境下 maven的配置
下载安装 下载地址http://maven.apache.org/download.cgi然后配置环境变量打开终端terminel输入以下命令:vim ~/.bash_profile 打开.bash_profile文件,在次文件中添加设置环境变量的命令export M2_HOME=/Users/xxx/Documents/maven/apache-maven-3.6.3export PATH=$PATH:$M2_HOME/bin添加之后保存并退出,执行以下命令使配置...
2020-07-25 13:58:12 185
原创 关于使用tabLayout.addOnTabSelectedListener执行多次的问题
问题再现tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { Log.e("sujd=======1",tab.getPosition()+""); } @Override public void onTabUnselected(Tab
2020-07-24 15:07:31 3989
原创 记一次eclipse创建maven web项目报错的情况
报错内容:Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-war-plugin:jar:2.2Plugin org.apache.maven.
2020-07-22 22:45:21 181
原创 Jsp基础总结
执行过程 当浏览器访问如Html,css,js,图片等静态等资源等时候,服务器找到相应等资源,通过响应实体,转换成流,直接返回给浏览器,让浏览器解析出来;但是如果执行jsp时,因为jsp里可以写java代码,所以不会直接把jsp中的内容直接发送给浏览器,而是要经过翻译,翻译成servlet程序,然后执行完之后向浏览器输出一个html网页当我们编译jsp的时候,会翻译成servlet,并且假如我们用tomcat的时候,会在work目录下对应工程里生成java文件会把我们的jsp中的jav..
2020-07-20 22:30:01 167
原创 Servlet
继承关系我们通过eclipse创建Web项目,项目结构如图:打开ServletTest我们的类实现HttpServlet,来实现里面的两个方法doGet()和doPost()Servlet——接口 通用的Servlet接口,定义一个Servlet具有的最基本的功能 ↑继承GenericServlet——抽象类实现了service接口,并实现了大部分的方法,但是service方法没实现,需要我们自己实现。 ↑继承HttpServlet——抽象类:推荐...
2020-07-15 23:16:56 207
原创 安卓WebView加载Html标签时,显示变小或者不能适应屏幕宽度的问题
//设置WebView启用js web.getSettings().setJavaScriptEnabled(true); //关闭自动适应 web.getSettings().setUseWideViewPort(false); web.getSettings().setLoadWithOverviewMode(false); //重写WebViewClient中的onPageFinished方法 web...
2020-07-08 18:00:38 2205
原创 Tomcat mac
Mac配置首先从官网下载; 下载之后,不用安装,cd /路径/tomcat8/ 使用“chmod -R u+x ./bin”命令授权 cd /bin目录 输入”./startup.sh”启动Tomcat 在浏览器中访问”localhost:8080”,看到了Tomcat界面,则说明Tomcat已经成功启动 在终端中执行“./shutdown.sh”关闭Tomcat,然后刷新浏览器,会发现无法访问Tomcat各个目录介绍lib目录:服务器运行时,依赖的jar包的存放目录 bin
2020-07-05 20:58:14 500
原创 JavaScript基础与JQuery选择器
数据类型基本数据类型:number数值类型,在js中,只有浮点型一种 string字符串类型,在js中,属于基本数据类型,可以用单引号或者双引号 boolean布尔类型 undefined未定义,在js中,如果声明一个变量,没有赋值,那该变量就是undefined null表示空值,可以作为函数的返回值,表示函数返回一个空对象复杂数据类型:在js中,函数和数组,也是对象的一种,可以说复杂数据类型就是对象变量和运算符在js中,变量不区分类型,可以指向任意的数据类型 在j.
2020-07-04 22:14:05 138
原创 Flutter组件学习(22)导航返回拦截(WillPopScope)
简介Flutter中可以通过WillPopScope来实现返回按钮拦截onWillPop是一个WillPopScope的回调函数,当用户点击返回按钮时被调用WillPopScope必须包含child,否则会报错实现双击返退出APPimport 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:fluttertoast/fluttertoast.dart'
2020-06-28 13:26:22 1412
原创 JDBC(二)数据库连接池和事务
数据库连接池(数据源)首先创建一批连接,放在容器中,在需要连接的时候,就从中获取一个连接,用完之后,再还回池中数据库连接池的优点传统的数jdbc据库查询,创建连接对象,查询完毕关闭连接对象,会耗时,没有复用,效率很低使用连接池,可以实现连接的复用,减少连接创建关闭次数,提高效率C3P0连接池的三种使用方式下载地址https://sourceforge.net/projects/c3p0/?source=navbar 在项目中添加C3P0连接池依赖,这两个包都要导入,不然会报
2020-06-26 19:28:31 392
原创 JDBC(一)
概念JDBC是Java Database Connectivity,代替手动查询,通过Java连接数据库的一个桥梁,能够执行SQL语句下载jar包下载地址https://dev.mysql.com/downloads/connector/j/创建项目创建java项目,然后导入单元测试 右键项目选择properties,然后选择Java Build Path,然后Add Library,然后选择Junit 4,然后Apply and Close ...
2020-06-25 18:26:40 1941 2
原创 结合DrawerLayout+CoordinatorLayout+MagicIndicator+ViewPager实现仿京东,淘宝商城页面
我要实现的效果效果包含的功能滑动标题渐变 滑动页面,MagicIndicator吸顶功能 自定义MagicIndicator渐变色的指示器 抽屉菜单功能用到的控件以及代码解析 抽屉菜单DrawerLayout 外层是DrawerLayout,第一个子view是主内容区,这里我用include来加载侧滑菜单布局 在菜单布局中,必须设置android:layout_gravity="right",或者left,来对应Activity中的侧滑方向,比如我在代码 中设置l
2020-06-23 17:16:35 567
原创 Flutter常用方法
DateTime初始化DateTime time=DateTime.now();基础属性 time.year 当前年 time.month 当前月 time.day 当前日 time.hour 当前时 time.minute 当前分 time.second 当前秒 time.millisecond 当前毫秒 time.microsecond 当前微秒 time.milliseconds...
2020-06-19 18:17:30 695
原创 Flutter组件学习(21)实现app首页
Step 1:新建工程,添加导航栏import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';void main(){ runApp(MyApp());}class MyApp extends StatefulWidget{ @override State<StatefulWidget> createState() { return AppWidget();
2020-06-18 15:58:18 571
原创 Flutter组件学习(20)可滚动组件以及ScrollController监听
介绍ScrollController间接继承自Listenable,我们可以根据ScrollController来监听滚动事件,可以用ScrollController来控制可滚动组件的滚动位置offset 可滚动组件 当前的滚动位置 jumpTo animateTo 跳转到指定的位置, 它们不同之处在于,后者在跳转时会执行一个动画,而前者不会 dispose 为了避免内存泄露,需要调用 controller.dispos
2020-06-18 11:38:43 7995
原创 Mac环境下的MySQl基础操作(二)
外键概念用来通知数据库两张表,列和列 之间的对应关系,并且让数据库维护这个关系的键,就叫外键假如现在有两张表 此时CommandDetail表设置了外键,关联到了Command表的id,所以,此时如果删除Command表的牛仔裤或者毛衣,是无法删除的,因为CommandDetail中有数据与之关联,数据库自动帮我们维护了这个关系表关系一对多:班级对学生,一个班级可以有多个学生,一个学生只能属于一个班级;多对一:上面的反过来;一对一:班级对教室;多对...
2020-06-14 23:31:13 131
原创 ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregate
今天在mac上使用MySQL语句,在操作聚合操作的时候,出现了这样的问题:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sujianda.people.name' which is not functionally dependent on columns in GROUP BY clause; this is incompati
2020-06-14 10:59:15 688
原创 Flutter组件学习(19)GridView
介绍GridView和ListView的大多数参数都是相同的,它们的含义也都相同,唯一需要关注的是gridDelegate参数,类型是SliverGridDelegate,它的作用是控制GridView子组件如何排列(layout)Flutter中提供了两个SliverGridDelegate的子类SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtentSliverGridDele
2020-06-11 18:03:25 2267
原创 Flutter组件学习(18)ListView
介绍itemExtent:该参数如果不为null,则会强制children的“长度”为itemExtent的值;这里的“长度”是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemExtent代表子组件的高度;如果滚动方向为水平方向,则itemExtent就代表子组件的宽度。在ListView中,指定itemExtent比让子组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时
2020-06-11 15:16:14 893
RedisManager可视化工具
2022-03-29
downloadpic.rar
2022-01-18
da06抽象继承封装多态接口.zip
2020-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人