- 博客(177)
- 资源 (5)
- 收藏
- 关注

原创 要依赖于抽象,不要依赖于具体
在面向对象设计原则中,要求"要依赖于抽象,不要依赖于具体", 这句话有很多人搞不懂。在这里谈谈我自己的理解。首先看看以下代码class A{ public void swim(){ Dog dog = new Dog(); dog.move(); }}Swim方法中定义了一个Dog的对象,那么无论哪个对象调用这个方法时,一定是"狗爬",Swim和Dog的对象是紧耦合的关系,我们想换成鸭子或青蛙是不可能。假如代码这样换一下,我们定义一个动物的接口,接口定义一个Move方法。
2020-12-24 20:13:44
4371
4
原创 Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future
Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify
2024-03-12 10:55:05
1183
1
原创 springMVC实验(五)——数据校验
在软件开发过程中,数据校验是非常重要的环节,用于确保数据的有效性和完整性 。数据校验分为客户端验证和服务端验证,客户端验证是确保人机交互过程中用户操作表单过程中的误操作,由JavaScript代码完成,验证不通过时,通过提示信息反馈给操作用户;服务端验证是对前端请求携带的参数进行验证,确保参数的有效性,由Java提供的JSR-303验证机制完成,如果验证不通过,HTTP 报400错误,要求开发人员对编写的请求代码进行修改
2023-12-06 12:07:43
1474
原创 SpringMVC实验(四)——前后端分离下的数据交互
前端开发不依赖与后端,二者均可独立发展。二者责任与分工明确,前端负责人机交互操作,后者负责仅提供数据服务,不再参与前端页面的跳转的控制。随着前端设备的多元化,前后端分离开发已经成为当前开发的主流模式
2023-12-05 22:10:24
1813
原创 springmvc实验(三)——请求映射
所谓的方法映射就是将前端发送的请求地址和后端提供的服务方法进行关联。在springMVC框架中主要使用@Controller和@RequestMapping两个注解符,实现请求和方法精准匹配
2023-11-29 11:54:31
1503
原创 springMVC实验(二)—调式工具APIFOX的使用
前后端分离已经成为互联网类软件开发主流模式,没有前端操作的支持,如何调试后端程序的就是开发人员必须解决的问题。如:get类请求可以直接使用浏览器就能模拟测试,但是post、put等类型的请求,则需要专门工具进行辅助测试。在实际开发中这种类型的辅助测试工具很多,如:idea集成的HTTP client、postman、Apifox等,其中Apifox是国内推出的一款调试工具,目前无论前端开发还是后端开发必须掌握的一中工具
2023-11-29 10:44:32
2292
原创 spring中的DI
对象注入时,使用@Autowired注解符是spring提供的,注入依据数据类型(byType),如:classTeacher属性注入,是spring在对象池中寻找类型为Teacher的对象,然后进行匹配,如果系统中存在两个或两个以上类型为Teacher的对象,需要借助另外一个注解符@Qualifier完成;代码中在类上添加的注解符@Component ,代表这个类创建的对象交给spring进行管理,在属性上的@Value注解符,代表简单数据类型属性注入,@Autowired代表对象的注入。
2023-11-15 12:14:55
498
2
原创 前端实验(一)单页面应用的创建
app.vue是项目的根组件,相当于网站的首页,该组件的实例将挂载到index.html页面中,在根组件中使用路由完成页面的展示与跳转。单页面应用入口处使用接口函数createApp(app)创建vue的实例对象,函数中参数app就是项目的根组件,其他vue文件均作为该根组件的子组件,通过模块引入使用完成调用,最终形成一棵组件树。每个组件可以看成一个页面片段,运行在外壳页面内部,所谓的页面跳转实际是页面片段跳转,是把一个页面片段删除或者隐藏,加载另一个页面片段并显示出来。
2023-11-01 21:32:24
1348
原创 MyBatis实验(四)——关联查询
多表关联查询是软件开发中最常见的应用场景,多表查询需要将数据实体之间的一对多、多对多、一对一的关系的转换为复杂的数据对象。mybaits提供的association和collection元素,通过映射文件构造复杂实体对象,在构造实体过程中,mybaits提供的了嵌套查询和嵌套结果查询两种查询方式,前者通过执行多次SQL语句,并支持延迟加载;后者执行一次SQL语句,通过SQL语句的执行结果构造实体。
2023-11-01 10:11:34
747
2
原创 MyBatis实验(三)——动态SQL
在编译阶段,就可以确定的SQL语句称为静态SQL;在程序运行阶段,根据条件不同才能确定下来的SQL叫动态SQL。如:学生表数据查询时,查询条件有年龄、姓名、专业、班级等,SQL语句条件根据当前的使用场景可能是这些条件的任意组合。Mybaits提供了一种基于OGNL(对象导航图语言)的表达式来完成动态SQL,极大方便了动态sql编程。
2023-10-25 10:17:42
688
原创 java中如何查看运行中对象包含的方法、属性
getMethods()获得对象所有的public方法,包括继承获得的方法;getDeclaredMethods()仅包括本类定义的方法。在使用反射编写程序过程中,经常会查看对象的所在类的接口、父类、类的属性和方法。以下分别做一说明备忘。getFields()获取类的所有public属性,包括继承的属性;获取类自身定义的属性包括私有的属性。测试运行结果为:其中B包含的方法是showHelloC(C c)其中TestDemo是测试使用的类。
2022-10-09 17:02:17
1749
2
原创 前端界面设计流程与原则
行内经常说前段门槛低,但是做好很难。这里的门槛低指的是掌握了html、css、javaScript及面向对象的一些基础的理论就可以上手做,做好很难指的是界面既要精致,又要做到使用起来就像操作大众软件一样容易,这需要经验的积累。作为前段开发人员开始可以模仿国内大厂前段页面的布局,同时多思考这些大厂为什么这样做,这样做的好处在哪儿,又什么优点、缺点......
2022-08-10 19:48:20
3281
原创 html中使用vue组件
VUE有两种使用方式,一种实在html中直接使用vue做开发,一种是企业级的单页面应用。原认为前一种方式主要作用是为了降低VUE的学习门槛——通过在大家熟悉的HTML环境中使用vue,大家很容易去了解和熟悉VUE。现在看来在html使用vue组件还有两大作用,一个是封装比较复杂的组件,在其他应用中使用,另一个作用是调试样式.........
2022-08-04 22:15:28
21770
5
原创 如何设置三线表线条的粗细
学生在编写毕业论文时,经常用到三线表,三线表的线条粗细需要进行设置,使用word进行线条粗细设置时,经常会出现线条粗细不变的情况,以下使用图文形式说明设置过程。
2022-07-13 20:01:17
45567
原创 SSM框架批量删除数据时传入整型数组
使用SSM框架 + mybaitisPuls进行批量删除时,后端controller代码为: @RequestMapping("/delete") public R delete(@RequestBody Integer[] recordIds){ supervisionUserService.removeByIds(Arrays.asList(recordIds)); return R.ok(); }在进行前端测试时,因为方法中使用@RequestBody,因此只
2022-05-22 17:35:50
373
1
原创 spring boot项目 在控制台显示sql语句
在在application.yml文件中配置中,myBatis configuration中添加log-impl: org.apache.ibatis.logging.stdout.StdOutImpl如下图所示:
2022-05-09 08:54:58
5844
2
原创 Vue项目引用相对路径图片不显示问题
通常将图片放入src/assets/文件夹下,在view中绑定图片,如:<van-image round width="2rem" height="2rem" :src="headerUrl" />headerUrl是VM定义的图片路径,代码如下:data () { return { headerUrl: '../assets/images/unlogin.png', } }界面上图片不显示,解决办法,修改data中代码如下即可显示 data ()
2022-05-08 20:28:57
1808
1
原创 Idea使用springboot实现热加载配置方法
使用IDEA调试项目时,每次运行项目都需要1-2分钟,极大影响了调试效率,以下介绍一种通过springboot配置,实现热加载,具体过程如下:引入相关依赖。打开pom文件,添加以下依赖<dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.6.RELEASE
2022-05-05 17:03:16
1558
原创 powerdesinger警告信息
PDM使用Check检查Existence of reference 表示该表是没有与其关联的表,不用理会index inclusion 表示索引重复,进入表视图,点击index选项卡,删除多余的索引项即可生成SQL脚本执行时报错,检查约束名是否重复...
2022-04-19 16:30:38
1249
原创 赖汉式线程安全性测试
使用懒汉式实现单例模式应用时存在线程的安全性,如果不使用同步锁测试一下是否会创建多个实例,代码如下:public class Singleton2 { private static Singleton2 instance = null; private Singleton2() { } public static Singleton2 getInstance() { if (instance == null) { instance
2022-03-30 16:17:09
692
原创 SpringBoot项目提示:java:找不到符号:类**位置:程序包
调试运行的SpringBoot项目,添加了代码生成器生成代码后,运行提示:java: 找不到符号 符号: 类 MangerUserEntity检查路径没有任何问题,解决办法:找到IDEA下右边的Maven面板下的lifecycle下的clean并双击,然后再重新启动即可参考网址:https://www.cnblogs.com/badaoliumangqizhi/p/13521512.html...
2022-03-14 17:40:36
4037
原创 彻底搞明白vue组件命名的使用
vue的组件可以使用大驼峰(首字母大写)、小驼峰(首字母小写)和短横线分隔命名(两个单词之间使用短横线连接),在不同场合需要遵循一定的规则,否则有可能会报错,具体规则如下:有意义的名词、简短、具有可读性组件在定义时,使用大驼峰命名规则,这与后端类的命名规则是一样的当注册组件时,则需要短横线分隔命名方式引入,因为在html中不区分大小写,myMessage和mymessage是等价的。组件中的prop属性定义时,使用短横线分隔方式命名,此时在view(html)可直接使用。当属性定义时使用驼峰规则,
2022-01-02 17:19:48
3080
1
原创 JavaEE技术复习总结(三)
springmvc是建立在spring基础上符合Web MVC设计模式的轻量级Web框架,也是当前web应用开发的主流框架,其主要内容包括以下几点核心类和注解springmvc最核心类包括前端控制器DispatcherServlet,处理器映射器(HanderMapping)、处理器适配器(HanderAdapter)和视图解析器(ViewResolver),作为开发人员只需要做好这些核心类的配置即可。dispactherServlet用于受理前端的请求,将请求交给HanderMapping建立请求与H
2021-12-16 21:22:54
990
原创 JavaEE技术复习总结(二)
myBatis是当前主流的java持久层框架之一,是一个半自动映射框架,需要手工配置pojo、sql及映射关系。主要概念包括以下内容。POJO对象POJO对象是一种简单的java类型,仅包含属性及其getter setter方法,没有业务逻辑,用作数据的载体,VO(用于展现用户的数据)、DTO、Entity(用作持久化)均属这一类型。根据使用的框架,可在pojo属性可以加一些注解用于完成数据有效性验证(如:非空、数字验证、取值范围、其他使用正则表达式定义的规则)或持久化策略(主键生成策略、默认值)等。p
2021-12-16 17:41:27
1682
原创 JavaEE技术复习总结(一)
在java企业级开发中,SSM(springMVC+Spring+myBatis)整合技术框架是目前最流行的WEB应用开发框架。其中:myBatis为持久层框架,完成数据的增加、删除、修改、查询(CRUD);SpringMVC是轻量级Web框架,负责请求的受理和视图管理;Spring则利用IOC(控制翻转)实现了对业务对象的管理。本文完成Spring的总结:控制翻转(IOC)当高层模块(调用模块)使用一个实例对象时,必须先创建它。spring把创建实例的权限交剥夺,高层模块丧失了创建对象控制权,叫控制翻
2021-12-16 11:12:24
974
1
原创 PowerDesigner中使用name生成comment
PowerDesigner生成数据库脚本时,code转换为数据库中表名及字段,如果将将PDM中的name(一般为中文名称)转换为comment,则生成数据库备注栏显示name(中文名称),方便程序员的使用。将name转化为comment,可使用以下脚本批量完成。Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl 'the current model 'get the current a
2021-12-08 11:44:08
1745
原创 块级元素、行内元素及行内块元素
html中所有元素都可以看成一个盒子。外边距(margin)、边框(border)、内边距(padding)及填充内容(content)。使用盒子模型可以完成页面的设计和布局。宽度(withd)和高度(height)是盒子模型中最重要的属性,使用该属性可以完成页面的布局和对齐。块级元素和行内元素块级元素:典型代表为div、form、table等,宽度和高度可以指定,它可以容纳内联元素和其他块元素,元素前后有换行符,总是另起一行,多个块状元素标签写在一起,默认排列方式为从上至下。其特征:1)能够识别宽高
2021-12-04 15:13:49
792
原创 mybaits数据库下划线转java对象的驼峰
Java中类的命名一般使用大驼峰规则,属性和方法的命名一般使用小驼峰规则。数据库中表和字段不区分大小写,为了增强可读性,一般两个单词之间使用下划线区分。mybaits提供了二者之间相互转换,使用时非常简单。没有使用springboot,在mybaits的主配文件文件的标签中加:<settings> <setting name="mapUnderscoreToCamelCase" value="true"/></settings>如果使用sprin
2021-11-29 16:50:24
881
原创 SSM框架整合详细过程
整合思路由于SpringMVC是Spring框架中的一个模块,SSM框架的整合只涉及Spring与MyBatis的整合及Spring MVC与MyBatis的整合。如下图所示整合环境SSM框架整合需要使用Spring、SpringMVC、Mybaits依赖的jar包。项目创建后,需要将这些jar导入。如果是maven工程,只需在pom文件中添加以下依赖包,具体内容如下: <!--spring核心依赖包--> <dependency> <gro
2021-11-18 19:24:37
3077
3
原创 SSM框架最简单小结
很多同学在学习SSM框架时,关注每一个配置细节和具体的实现方式,没有站在全局的高度去了解框架的意图,越学东西越多,越学越迷糊。正是“不识庐山真面目,只缘身在此山中”。SSM框架是由spring、mybaits和springmvc三个框架组合,完成web开发的一种解决方案。spring的IOC:写代码不能硬编码,要使用面向接口的编程技术。那么调用方使用对象时谁来创建,这个任务就交给了spring,用哪一个实现类来创建对象,你需要使用xml或者注解的方式告诉spring,spring来完成,其他的你不用管了
2021-11-17 13:56:12
1432
1
原创 springmvc对json的支持——springmvc入门介绍(三)
在web开发中前端和后端的信息传递使用json格式已经成为当前主流的开发模式。springmvc通过配置的方式,很轻松完成json格式转Java对象和Java对象转json对象。转换环境搭建springmvc通过Jackson包完成json对象与Java对象相互转换,开发时需要引入相应的依赖包。包括以下三个:jackson-annoations-2.8.8.jarjackson-core-2.8.8.jarjackson-databind-2.8.8.jar使用maven项目时,在pom文件中添
2021-11-09 17:43:59
1477
原创 预警信息发布程序设计
被观察者代码public class DataConvertor { private List<IObserver> observers = new ArrayList<>(); public void add(IObserver obj){ observers.add(obj); } public void remove(IObserver obj){ observers.remove(obj); }
2021-11-09 12:08:16
4070
原创 数据绑定——springmvc入门介绍(二)
数据绑定概念及绑定过程在springmvc入门介绍(一)中介绍了几种服务器端的数据如何传递给前端去展示。本节主要介绍如何将前端的数据传送到服务端,即view的数据如何传送到controller中对应的处理方法中。springmvc主要将要传送的数据通过与处理方法的形参进行绑定,完成数据传递的过程。绑定过程如下图所示:SpringMVC框架提供了一个数据绑定组件(DataBinder),前端请求将请求数据包裹在request中发送给DataBinder组件,通过RequestMaping映射的方法也将自
2021-11-02 17:38:23
677
PowerDesigner逆向工程时,将表字段的comment转换为PDM的name
2020-11-20
PowerDesigner批量生成SQL脚本时将name生成数据库中字段的comment
2020-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人