- 博客(32)
- 收藏
- 关注
原创 微服务 day01 注册与发现 Nacos & OpenFeign
单体架构(monolithic structure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单。:试想一下,你们团队数十个人同时协作开发同一个项目,由于所有模块都在一个项目中,不同模块的代码之间物理边界越来越模糊。最终要把功能合并到一个分支,你绝对会陷入到解决冲突的泥潭之中。
2025-02-07 20:57:46
1386
原创 Web day11 SpringBoot原理
目的:将阿里云util 文件上传类对象 自动放到 IOC 容器中 可以直接注入使用否则 在 不同项目中都需要重新写util类只需要引入启动器依赖即可springboot的启动器 默认会 读取文件中的配置类 并把配置类 中的 bean 对象加载到IOC容器中我们只需要定义相同的路径 把我们 自己的配置类放到 .imports 文件中即可只需要有pom 文件即可在pom 文件中 只需要引入 自动配置模块的依赖。
2024-12-13 17:21:26
790
原创 Web day10 AOP & ThreadLocal
Aspect@Component@Autowired// 1、通知代理方法正执行// 让被切入的业务方法真正开始执行。// 2、获取方法的各种执行信息// 构建日志对象// 注入当前操作的员工id(目前是拿不到的,下节课再讲)// 获取当前时间// 获取方法名// 获取类名// 获取方法运行时传入的参数// 3、存入到数据库中去。Spring AOP通知的类型只有@Around环绕通知才有 pjp.proceed() 让被切入的方法继续执行。
2024-12-11 22:25:46
1008
原创 Web day09 会话技术 & JWT令牌 & Filter & Interceptor
需要单独开一个LoginInterceptor 包来 存储 拦截器因为配置类需要 拦截器对象 所以需要加上Component交给IOC容器管理@Component@Autowired@OverrideSystem.out.println("token为空====> Intercepter拦截"+requestURI);try {System.out.println(stringObjectMap.get("username") + "登录成功!!!!!!!!!");
2024-12-10 17:15:37
814
原创 Web day08 项目实战(2)
表单的编码类型enctype必须要设置为:multipart/form-data:普通默认的编码格式是不适合传输大型的二进制数据的,所以在文件上传时,表单的编码格式必须设置为multipart/form-data。所以,保存完员工信息之后,是需要获取到员工的ID的,那这里就需要通过Mybatis中提供的主键返回功能来获取。在日志记录中运用 propagation 属性 使日志记录 保存到数据库中成为 单独的事务 不受 添加员工 和 添加 员工经历数据 的事务影响。
2024-12-07 16:40:41
731
原创 Web day07 项目实战
每一个人都有自己的命名习惯,如果都按照各自的习惯来,一个项目组,几十号或上百号人,那最终开发出来的项目,将会变得难以维护,没有一个统一的标准。http://localhost:8080/users/1 DELETE:删除id为1的用户。http://localhost:8080/user/saveUser POST:新增用户。http://localhost:8080/users/1 GET:查询id为1的用户。
2024-12-02 22:00:52
825
原创 Web day06 JDBC & Mybatis
客户端在执行SQL时,先从连接池中获取一个Connection对象,然后在执行SQL语句,SQL语句执行完之后,释放Connection时就会把Connection对象归还给连接池(Connection对象可以复用)客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要关闭连接对象从而释放资源,每次执行SQL时都需要创建连接、销毁链接,这种频繁的重复创建销毁的过程是比较耗费计算机的性能。框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。
2024-11-30 22:31:21
789
原创 Web day04 SpringBoot
服务端根据客户端请求头中的数据获取到客户端的浏览器类型,就可以根据不同的浏览器设置不同的代码来达到一致的效果(这就是我们常说的浏览器兼容问题)不同浏览器解析HTML和CSS标签的结果会有不一致,所以就会导致相同的代码在不同的浏览器会出现不同的效果。url :获取的为文件的绝对路径 在请求协议的 获取相应数据中url可以 定位到 网络上的唯一资源。明bean的时候,可以通过注解的value属性指定bean的名字,如果没有指定,默认为类名首字母小写。通过name属性指定要注入的bean的名称。
2024-11-28 20:10:15
678
原创 web day03 Maven基础 & Junit
概念:Maven 是一款用于管理和构建 Java项目的工具(java语言写的)Maven仓库分为:本地仓库:自己计算机上的一个目录(用来存储jar包)中央仓库:由Maven团队维护的全球唯一的。仓库地址:https://repo1.maven.org/maven2/远程仓库(私服):一般由公司团队搭建的私有仓库。
2024-11-26 20:57:30
629
原创 Web day01 html & css
GET: 把数据拼接到url后面,大小有限制 http://127.0.0.1:5500/login?表单项标签的内容要想被提交, 必须提供name属性值,给请求数据起名字: 必须写到form标签内部。action:指定数据提交的服务器地址 http://localhost:8080/login。3.外部样式:外部的Xxx.css文件中书写样式 在Xxxx.html文件中,借助于link标签来引入。1.行内样式:<元素名 style="属性1: 值1;不可以设置宽高(width、height)
2024-11-23 21:57:47
1037
原创 java day16 网络编程
网络 编程的三要素: 1.IP地址 :网络设备在网络中的唯一标识2.端口: 应用程序在计算机中的唯一标识3. 协议:通讯双方必须遵守的。
2024-11-19 21:37:18
1008
原创 java day15 多线程
Thread 构造器需要一个 实现Runnable接口的实现类对象 如果线程只使用一次可以用匿名内部类的方式创建对象 一个Thread类型引用可以引用不同的线程对象。注意 new Lock 一定要定义在run方法之外 否则没一个线程对象都进run中产生新的锁。否则try中代码出问题会导致try后的unlock执行不了 影响其他线程对代码的执行。此方法线程于任务绑定死几乎不使用并且无法获得子线程的执行结果。被加锁的代码 同一时刻 只能有一个线程来执行。线程是程序的一个执行流程。2.多个线程有共有的资源。
2024-11-16 20:41:28
446
原创 java day14 IO流 & File
不用throws而用try-catch处理编译器异常的原因为 不能让程序停止执行 如果throws给jvm会停止程序运行并打印错误信息。注意 append 为true是追加文件数据 默认为false 替换当前文件的所有数据。字符串的构造方法中只能传两个数组 一个是字符数组返回值为 把字符都链接在一起的字符串。offest 为读取数组的起始位置 len为读取数组中元素的个数。此为文件复制的完整流程 如果指针为空不应该让其执行close语句。如果执行到try中报错语句则不继续执行try之后的语句。
2024-11-15 12:03:49
805
原创 java day12 异常 & 泛型 & 包装类 & 集合
提供的异常需要见名知意所以要自定义异常步骤:1.自定义类,继承Exception或者RuntimeException2. 提供带参构造3.使用自定义异常//提供带参数构造//调用父类的带参数构造, 把cause赋值给父类的成员变量注意String cause并不会打印在控制台上 调用printStackTrace()时会打印在异常信息里show();//快速生成try-catch代码块的: alt+entertry {
2024-11-12 11:17:29
673
原创 java day10 抽象类 & 接口
10.要遵守重写的规则 抽象方法不能被private static final修饰 重写方法的权限要>=抽象方法。8.如果一个2抽象类继承了1抽象类则不需要重写1抽象类的抽象方法 如果2抽象类被继承。2. 接口当中的成员方法不能有具体的实现(都默认抽象方法 比抽象类更加的严格)(2). 允许有具体可以实现的方法但是这个方法必须被default修饰。(1).抽象方法默认是 public abtract的方法。4.抽象方法被abstract修饰 没有具体的实现方法。则需要在普通类中重写1抽象类的抽象方法。
2024-11-06 16:30:23
434
原创 java day07 继承 & 多态(1)
2.通过派生类对象访问父类与子类同名方法时,如果父类和子类同名方法的参数列表不同(重载),根据调用 方法适传递的参数选择合适的方法访问,如果没有则报错;2. 如果父类构造方法是带有参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适的 父类构造方法调用,否则编译失败。1.通过子类对象访问父类与子类中不同名方法时,优先在子类中找,找到则访问,否则在父类中找,找到 则访问,否则编译报错。2.如果访问的成员变量子类中无,则访问父类继承下来的,如果父类也没有定义,则编译报错。
2024-11-03 20:54:27
1023
原创 java day05 类与对象
如果构造方法是private在此类外无法生成新的对象构造方法可以重载先打印带两个参数的构造放发 再打印不带参数的构造方法此代码表示在一个构造方法里访问另一个构造方法且不能形成循环(构造方法互相调用)
2024-10-30 18:55:23
295
原创 java day03
2. 创建Random对象 Random r = new Random()此方法可以获取[0,n-1]之间的随机整数, 注意: 没有n。3. 调用方法,获取结果 r.nextInt(n)1. 导包(IDEA会自动完成)long类型变量不可以做表达式!Random:生成随机数。会直接执行sout中的语句。
2024-10-28 17:07:14
204
原创 java day02
s = s+1不能正常运行 1为int类型(默认) short byte char(2字节)参与运算时都会被整形提升为int。byte char short参与运算时直接转换成int。一个字符单独打印打印本身 运算打印ASCII码。// 结果为itahei5a。//说出下面算数的预算结果。注意 float范围大于long和int。//结果为5+5=55。//结果为5+5=10。int/double为默认类型。boolean占一个字节。
2024-10-26 17:02:37
348
原创 数据结构中链表的带环问题
废话不多说直接进入正题带环问题分两种问法1是判断求是否有环 问法2是要求返回环开始的第一个节点问法1的处理方式非常的简单 只需要用快慢指针解决即可思路:定义一个快指针fast 慢指针slow 如果fast能和slow相遇则证明有环 如果不能则无环...
2022-05-12 14:01:17
366
原创 解析数据在内存中的存储
本期目录1. 数据类型的介绍2. 整形在内存中的存储3.大小端字节序1.数据类型char字符数据类型 不同的类型决定了内存中开辟空间的大小shot短整形 int整形 long长整型 long long 更长的整形float单精度浮点型 double双精度浮点型在整形家族中会分为有符号signed 和unsigned无符号之分例如signe...
2022-02-28 20:37:05
285
原创 起点的第一篇博客
大家好,我叫moskidi是一名大一的学生,从小开始我就对编程产生了浓厚的兴趣,虽然在之前零零碎碎的接触学习过一些编程的知识但从今天开始我决定系统性的学习编程,上课时我打算先学习基础的语句格式函数等等,学习老师的思路先从模仿再到自己的创新,我愿意把编程列为我在大学中最重要的目标之一,我愿意把我每天至少4到5个小时的时间投入到学习编程上来,目前来看在我毕业之后,我最想进入的一家it公司是快手或字节跳动(有能力的话最好是国外的it公司)...
2022-01-22 16:37:07
351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人