- 博客(45)
- 收藏
- 关注
原创 24.01.17
使用@Resource//业务代码});开启异步注解@EnableAsync//开启异步任务注解@Bean使用在方法上面,加只有跨类调用的时候生效@Async。
2025-01-17 20:31:31
646
原创 25.01.15 SpringSecurity 授权
http.exceptionHandling().accessDeniedHandler((request,response,e)->createJSON(response,"无权限"));//报错时显示@Component//code 用户的权限标识,如何判断 用户是否拥有这个权限标识//获取当前登录的用户信息=null){//获取 权限列表//判断 里面 是否包含字符串 code//@bean对象.方法名,传入参数,//如果返回true,允许访问当前方法。
2025-01-15 21:25:07
348
原创 24.12.31 SpringBootDay02
Spring的事务机制,是看调用的方法,是否抛出异常。不要在每一个方法上都加@Transactional。只有多表调用的时候,才建议使用事务。
2024-12-31 22:51:19
502
原创 24.12.30 SpringBoot
Spring的一站式解决方案Spring项目的开关,Spring全家桶的入口++也是未来学习其他的框架的基础,所有框架的整合,都要基于SpringBoot优点简化了Spring项目的创建,运行,调试,部署,配置等等步骤更专注于业务的开发,不去过多的关注配置只需要按照约定(约定大于配置),集成配置好的框架,就可以使用在SpringBoot项目创建的那一刻,它已经和许多框架整合完了并且解决了大部分的依赖问题,解决了大部分的jar包冲突问题(仅限于特定版本之间)缺点过于优秀。
2024-12-30 22:37:25
421
原创 24.12.27 SpringMVCDay02
SimpleDate转换@Override//传入的参数,等待被转换的2024-12-27 字符串try {-- 开启包扫描-->--代替适配器等配置-->--视图解析器-->--跳转的jsp页面,统一添加前缀-->--后缀--></bean>--静态资源文件放过-->--上传文件的配置--></bean>--配置拦截器-->--被拦截的路径-->--所有以/game开头的请求,都要经过拦截器-->--在包含的路径中,排除其中的某些路径-->--拦截器类-->
2024-12-27 20:33:56
479
原创 24.12.26 SpringMVCDay01
浏览器发起请求 → Tomcat中 → servlet-mapping 配置了/,所有的请求,都进入DispatcherServlet中 → 能获取到访问路径/hello → 寻找执行的方法 → 找到HelloController,执行方法 → 返回ModelAndView → Model的值放到request作用域,view的值,决定跳转到哪个页面。Spring提供的Web框架,是在Servlet基础上,构建的框架。默认,整个类,返回的都是json数据,就不能返回页面了。也被称为SpringWeb。
2024-12-26 20:47:34
510
原创 24.12.25 AOP
自定义注解搭配AOP注解,灵活的控制方法案例:想在项目中记录日志但是不是每个模块每个方法都记录哪个方法需要记录,现在还不确定,但是要提前把业务逻辑写好利用自定义注解,哪个方法需要增加日志,就在哪个方法上面加上自定义注解自定义注解切面类@Component@Aspect@Resource//方法执行结束之后,保存日志String msg = "%s方法,在%s时间,被调用了,参数是%s";
2024-12-24 21:05:29
388
原创 24.12.23 注解
必须会背@Component@Service@Resource@Autowired@Bean熟练使用注解三层调用详细描述 @Resource 和 @Autowired区别和共同点。
2024-12-23 23:19:45
398
原创 24.12.20 Spring
程序启动 → 读取xml文件 → 解析xml配置文件 → 读取了bean标签的内容 → 通过反射,初始化bean对象(new对象) → bean对象 存入Spring容器,等待调用。反转了,交出了控制权,不再是每次使用对象的时候亲自new对象,而是交给了Spring容器去new对象,每次使用对象的时候,问Spring要。单例:Spring启动 → 加载解析XML文件 → 创建Bean对象 →bean保存到容器 →随着容器关闭销毁。Spring的bean对象,在默认情况下,都是单例的。
2024-12-20 22:54:24
689
原创 24.12.02 Element
table是自动遍历的 所以显示每列数据时 通常需要自定义显示的列。需要搭配table的数据插槽使用 主要作用美化界面 提高交互效果。table是数据显示的主要组件 每个页面都要使用。菜单一般做动态菜单 由后端加载数据 在前端展示。注意:分页组件通常与table组合使用。主要作用是显示后端返回的动态数据。按钮主要是样式 比较简单。有日期选择 时间选择。
2024-12-02 22:30:41
446
原创 24.11.28 Cookie
webStorage在html5版本时 添加的前端共享数据的技术(跨页面共享数据)js可以直接操作cookie 如果不向后端传递的情况 可以用作跨页面共享数据。响应时 通过Set-cookie响应头 通知浏览器操作cookie。cookie一般存储跟用户本身相关的数据 而且是非关键数据。每次请求时 可以把cookie自定义的数据 传给服务端。java不能直接操作cookie数据 需要通过报文操作。请求时 浏览器会自动发送存储的cookie数据。在浏览器中 用户可以直接操作cookie。
2024-11-28 22:11:17
723
原创 24.11.27 Mybatis3
查询数据时 不要*(做全表扫描 查询较慢) 可读性比较差 会把需要的字段标记出来。${} 拼语法使用 没有使用占位符(不要让用户自己输入,可能会SQL注入)mybatis可以不使用配置文件 使用注解配置 注解不适合复杂配置。排序时 需要拼语法结构 不能用#{} 需要用${} 做语法拼接。配合in语句 通过forEach遍历集合数据 多条删除。模糊查询在业务场景中非常常用。mysql中常用条件连接符。给多模块公共修改语句时使用。批量从文件导入数据时使用。mybatis映射文件。
2024-11-27 23:18:42
653
原创 24.11.26 Mybatis2
resultMap 中的标签和属性高级映射 (映射数据与对象的对应关系) 如果列不指定 不能自动对应通常搭配继承一起使用 体现基础字段的对应association 对应某个实体对象Emp对象中 有部门信息 在java中 包含一个Dept对象映射文件配置通过sql语句 把需要的数据查询出来collection 对应集合每个Dept中都有多个Emp List<Emp>每个部门有多个员工 部门对象中 包含Emp的集合映射配置sql语句。
2024-11-26 22:50:50
760
原创 24.11.25 Mybatis1
1.封装JDBC 减少重复性代码2.ORM(实体关系映射框架) 通过框架 实体类 <--> 数据表 自动封装对象3.半自动的ORM框架 还需要写sql语句 java代码xml映射文件</select>xml代码。
2024-11-25 23:09:45
931
原创 24.11.23 Ajax
如果数据库中有用户列表 html中要显示 如果用户列表数据变化 html要改代码才能显示完整数据。浏览器中的其他子线程 都使用了异步回调模式 这是浏览器中 主线程与子线程配合的主要模式。后端服务 对于前端来说 是一个通过http远程调用的方法(接口) 返回json数据。从而让静态技术时,不需要每次请求都刷新页面,那么就可以在一个静态页面中。ajax技术在静态技术中,使用了子线程,处理请求和响应。通过子线程的请求,从后端取动态数据,在当前页面使用。前后端沟通的重要文档 标记接口的使用方法和规范。
2024-11-23 10:55:14
822
原创 24.11.20 sevlet2
HttpSession 会话对象 做域对象(缓存数据) 在同一个用户(浏览器)多次访问间共享数据。servletContext对象 也叫application 是服务器对象。servlet配置参数对象 可以获取servlet名称 等配置参数 现在的。核心对象servlet servlet中还包含其他的对象 还有隐含的对象。这是一个全局共享的对象 一般用来存放和共享服务器级别的全局参数。域对象 是servlet中隐含的对象。servletContext读+写。servletContext只读取。
2024-11-20 23:24:52
553
原创 24.11.19 web框架
2.2配置环境变量2.3maven命令测试mvn -v 测试maven查看版本2.4maven仓库配置配置远程仓库地址配置本地仓库2.5idea中配置maven2.6通过配置idea 创建maven项目创建项目时 构建系统 选到maven初次创建项目时 会把maven的基础依赖库(jar包) 下载到本地仓库 需要等待一会(只有第一次需要等待)要把快照版(-SNAPSHOT)删去安装好后 可以使
2024-11-19 23:13:47
1700
原创 24.11.18 网络
b/s 结构 浏览器(通用) 服务器 每次用户都会下载 只需要更新服务器 (加载较慢)c/s结构 客户端(专用) 服务器 公共部分不需要下载 只加载数据(加载较快) 如果基础公共部分变动 需要更新安装客户端。
2024-11-18 23:06:57
726
原创 24.11.15 Vue3
通过箭头函数 替代匿名函数替换为()=>{}如果形参只有一个 ()可以不写d=>{}定义函数return a+b;遍历时使用})定时函数使用},100)注意对比console.log("读书");可以简化为:console.log("读书");vue中存在三种变量使用箭头函数 简化函数定义messageRef.value = "'你好 Vue!'"//message = '你好 Vue!
2024-11-15 23:01:41
1013
原创 24.11.13 Javascript3
2.渲染(通过特定api 把元素显示到页面中的某个为止 挂载到dom树上)注意:js中随机数需要手动计算 通过取整 扩倍 移动区间 得到需要的随机数。两个步骤 1.生成出元素(虚拟dom结构 可以设置属性 页面上没有)//4数组遍历 //Array可对元素属性进行调整。//innerHTML可以解析html标签。JSON javascript对象标记。js中会table描述为数组(了解)js操作时 需要先获取元素。原生js动态操作(了解)同样可以使用简化操作。//2.数组中的内容。//3.数组常用方法。
2024-11-13 22:58:26
700
原创 24.11.12 JavaScript2
prompt()confirm()这些函数 会阻止js解析器(js解析器执行引擎 读取运行js) 执行 不要使用。
2024-11-12 22:05:50
754
原创 24.11.10 css
属性用于创建浮动框,允许元素向左或向右浮动,使其脱离常规的文档流。浮动元素会移动到包含块的左端或右端,直到它的外边缘接触到包含块或另一个浮动元素的边缘。 行内块() 从走到右排列 宽高有效 图片 表单元素(输入框 选择框 按钮.....)div+css布局 实际上就是在页面中画格子 大格子中套小格子。 行内(inline) 从左到右排列 宽高无效。 块 (block) 从上到下排列 宽高有效。伪类选择器 (选取元素的交互状态)1,2 后加载的覆盖先加载的。选择器组合方式 (了解即可)
2024-11-11 23:45:17
589
原创 24.11.8 HTML基础
img src="./imgs/niu.jpg" alt="这是一个美女图片" title="这是我的老婆" width="200px" height="100px">html标签语法 尖括号中套因为 浏览器会解析标签 不是标签的部分会显示出来 <英文>按内核分 html css javascript 解析器 并显示到浏览器中。做页面跳转 根据a标签中 href属性填入的值 替换浏览器的地址栏。html中因为版本向下兼容 所有会有多个标签同一显示效果的现象。浏览器地址栏中填的是http协议链接。
2024-11-08 21:16:48
313
原创 24.11.6 事务和自定义连接池
// 连接池的集合static {// 静态代码块i < 5;i++) {/*** 从连接池中获取连接的方法*/// 移除并返回头结点/*** 归还连接池*//*** 获取连接池中的数量*//*** DataSource就是sun公司提供的一套连接池的接口*/static {i < 5;i++) {/*** 获取连接* @return*/
2024-11-06 22:54:37
1079
原创 24.11.4 JDBC
编写java程序,实现任意一个DBMS软件的数据进行增删改查,都需要JDBCJDBC是sun公司发布的一套关于数据库的规范好处:程序员只需要学会JDBC接口,就可以调用各个数据库厂商的内容。轻松实现增删改查各个数据库厂商需要提供JDBC接口的实现,这些实现称之为驱动。
2024-11-04 22:11:02
711
原创 24.10.31 MySQL基础
127.0.0.1 localhost 本地IP。就是对数据进行限制的,提交的数据要满足约束。255.255.255.255 广播地址。mysql的端口号是3306。下载mysql去官网下载。
2024-11-01 23:12:02
322
原创 24.11.1 DQL 和多表查询
执行顺序:先where再是分组group by 再是聚合函数。聚合函数也称之为分组函数,结果只有1个,纵向运算。分组查询,一定会与聚合函数一起使用。
2024-11-01 23:09:39
464
原创 24.10.30 反射
int j = 20;int i = 10;// 自定义注解// 在注解中可以定义属性,默认被public static final修饰// 在注解中定义变量 使用()// 注解中的属性使用public修饰//// 设置默认值char c() default '国';// 注解中的属性类型只能是基本数据类型/String/Class/注解/枚举以及它们的一维数组形式// 如果数组中只有一个元素, {} 可以省略。
2024-10-30 20:00:48
171
原创 24.10.29 消费者生产者模式、线程池
生产者消费者模式一个线程作为生产者,一个线程作为消费者。生产者每生产一次,消费者就消费一次。生产者每次生产的商品数量以及消费者每次消费的数量用随机数产生。每一次的生产的商品数量和上一次剩余的商品数量之和不能超过1000.
2024-10-29 20:53:49
1128
原创 24.10.28 线程
进程:进程就是正在内存中运行的程序。当一个程序进入到内存运行,就变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能。线程:线程就是进程中的执行单元,负责当前进程中程序的执行。一个进程中至少有一个线程,一个进程也可以有多个线程。只有一个线程的进程称之为单线程程序,多个线程的进程称之为多线程程序。总结:一个程序运行后至少有一个进程,一个进程中可以包含多个线程。抢占式调度:理论上是优先级高的线程抢占到CPU的概率大。
2024-10-29 20:50:01
1352
原创 24.10.25 打印流、合并流、随机获取流、序列化和反序列化、Properties
随机获取流RandomAccessFile把文件看作一个字节数组,其中有一个索引在指定读取到的位置。Properties是Hashtable的子类,是同步的,key和value都是字符串类型。Properties是一个映射,可以将映射中的信息持久化到文件中,也能从文件中读取信息。static修饰的属性是属于类的,不是属于对象的,所以不会被序列化。反序列化:将存储的字节取出来还原回对应的对象。随机获取流是一个双向流,可以读也可以写。合并的流要求格式一致,编码也要一致。把多个流合并成一个流。
2024-10-25 17:21:51
379
原创 24.10.24 IO流
装饰设计模式:利用同类对象来构建本类对象,然后对所构建的对象的功能进行改善或者增强。设计模式:在软件开发中针对遇到的问题所提供的统一的解决方案。O:output 输出流 从内存中写入数据到硬盘中。装饰设计模式:是软件开发中常用的23种设计模式之一。I: input 输入流 从硬盘中读取数据到内存。练习:统计工作空间中java代码的行数。Java中IO流分为:字节流 字符流。四大流的顶级父类,这四个类都是抽象类。模式:针对某一类问题的统一的处理方法。IO流: 传输数据的一套机制。字节流什么文件都可以处理。
2024-10-24 21:10:44
373
原创 24.10.23
Stream流是一种流式结构,是jdk8出现的特性。对于集合做聚合操作。Stream流中的接口都是函数式接口,都可以使用lambda表达式。
2024-10-23 20:18:42
493
原创 24.10.21 集合部分+泛型
HashSet的底层存储结构是HashMap,HashMap底层是数组 + 链表 + 红黑树的结构。不允许重复的元素,元素的位置可能发生改变,是无序的,线程不安全的。实现这个接口的类产生的对象可以被增强for循环遍历,增强for循环本质上就是在进行迭代遍历。Collection接口是Iterable接口的子接口,所以所有的集合都可以使用迭代器。Collection中的Iterator的方法是从Iterable接口中继承过来的。泛型是jdk1.5的特性,保证了程序的安全性,减少程序代码量,避免了类型转换。
2024-10-21 23:03:29
476
原创 21.10.19 集合(部分)
集合是一个可以存放引用数据类型的容器。大小不固定。集合的顶级接口Collection:泛型,就是集合中存放的数据类型。只能是引用数据类型,不能是基本数据类型。
2024-10-19 22:33:39
274
原创 24.10.16 设计模式-单例模式
将构造器设置为private后就会导致在类外无法得到该类的实例对象,只能通过类名调用该类的静态对象,然后返回在该类内部的创建对象,静态方法只能访问静态的,所以该类对象的变量必须也要是静态的。只能产生一个实例对象-->将类的构造器的访问权限设置为private,这样在类的外部就不能在new出新的对象,但是在内部可以new出新的对象。饿汉:(优点)一开始就在内存中加载出来,使用方便,线程是安全的。单例模式对于某一个类只能存在一个对象实例,并且该类只提供一个取得实例对象的方法。应用场景:任务管理器。
2024-10-16 22:20:46
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人