![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 67
前进道路上的程序猿
喜欢唱歌,热爱运动
展开
-
CentOs安装jdk
CentOs安装jdk原创 2022-11-22 21:15:29 · 570 阅读 · 1 评论 -
Spring源码构建
前期准备JDK为1.8以上版本首先需要JDK升级到1.8以上的版本Spring源码下载并解压然后需要下载Spring源码,源码地址:https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip,下载完成后解压到相应目录Gradle下载安装下载并解压由于从Spring5开始都采用Gradle编译,所以构建源码钱需要先安装Gradle,本次源码推荐使用Gradle版本为Gradle 4.0,下载地址为原创 2022-01-16 11:26:39 · 500 阅读 · 0 评论 -
观察者模式实现原理
前言观察者模式定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主题对象,当主题对象发生变化时,它的所有观察者都会收到通知并作出相应的动作。观察者模式又叫发布订阅模式,需要观察者对被观察者发布的的动作进行订阅。实现主要类我们新建的这几个类中,Event是事件类,用于包装触发事件的相关信息;MouseEventType接口中定义了各种事件类型;EventLisenter是监听器类,它是观察者的桥梁;Mouse是被观察者类,当它作出动作时,观察者就会反应并作出相应动作。MouseEventCa原创 2022-01-15 19:04:02 · 1478 阅读 · 0 评论 -
装饰者模式案例
前言装饰者模式是指在不改变原有对象的基础上,将功能附加在对象上,提供了比继承者更有弹性方案。案例在现实生活中,我们买车一般有基础配置、中配、高配等,在这里我们就可以应用装饰者模式来这种情况进行描述创建车辆接口首先我们创建一个车辆接口,里面有两个方法,分别用于获取描述信息以及价格ICarpublic interface ICar { public String getMsg(); public int getPrice();}创建基础版车NormalCardpublic原创 2022-01-15 09:52:22 · 314 阅读 · 0 评论 -
适配器案例
前言适配器模式是指将一个类的接口转换成用户期望的另一个接口,是原本接口不兼容的类可以一起工作,属于结构型设计模式。适配器模式最长引用的案例就是电压转换头案例我们在显示生活中的民用电一般是220V交流电,但是我们手机使用的一般是5V的直流电,所需想要给手机充电就需要用到电源适配器来讲220V交流电转换为5V直流电创建220V交流电类220V交流电类,输出220V方法AC220public class AC220 { public int outputAC220V() {原创 2022-01-13 21:05:17 · 196 阅读 · 0 评论 -
关于JDBC操作数据的演进(从最基础方式到JDBCTemplate)
文章目录前言前期准备原始操作数据库方式创建实体类创建DAO类测试改进1改进2新建db.properties改造JdbcUtils改进3创建模板类JdbcTemplate调用模板类方法改进4创建IRowMapper接口创建StudentRowMapper改造JdbcTemplate改造StudentDao改进5改造IRowMapper改造JdbcTemplate前言在项目中,对数据库进行操作是我们非常重要的一个工作部分,此时我们通常不会使用最原始的数据库操作方法,而是使用一些包装好的中间件来进行数据库操作原创 2022-01-03 09:50:26 · 832 阅读 · 0 评论 -
鸿蒙系统中的DirectionalLayout布局
文章目录概念使用新建AbilitySlice排列方式垂直排列水平排列对齐方式权重使用概念DirectionalLayout用于将一组组件(Component)按照水平或者垂直方向排布,能够方便地对齐布局内的组件。DirectionalLayout的排列方向(orientation)分为水平(horizontal)或者垂直(vertical)方向。使用orientation设置布局内组件的排列方式,默认为垂直排列使用我们使用代码来解释DirectionalLayout布局的使用新建Abili原创 2021-02-26 14:46:02 · 2203 阅读 · 0 评论 -
软件架构设计原则-依赖倒置原则
依赖倒置包含三层含义:高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节细节应该依赖抽象这就要求模块之间的依赖不直接通过实现类发生,而是通过其接口或者抽象类发生,简单来说就是面向接口编程依赖倒置可以减少类与类之间的耦合性,提高系统的稳定性案例如下:不使用依赖倒置的情况:首先如果学生Student要学习Java课程,我们新建tom类和JavaCourse类,tom对象的study方法调用javaCourse对象的startCourse方法如下Student:publi原创 2020-11-29 18:54:13 · 275 阅读 · 0 评论 -
软件架构设计原则-开闭原则
开闭原则就是在软件开发过程中对扩展开放,对修改关闭;强调用抽象构建框架,用实现扩展细节,可提高软件的可用性及可维护性;开闭原则的核心思想就是面向抽象编程比如当我们软件开发过程中,如果要更改某一功能,不需要更改原先类稳定的代码,只需要继承该类,在新的类中增加相应的修改的功能即可,案例代码如下:我们学校有许多的课程,其中有一门课程为java课程,我们需要打印出该课程的id、名称以及售价;1.为此我们新建一个接口类ICourse和实现类JavaCourse,JavaCourse实现接口ICourseIC原创 2020-11-29 14:06:13 · 159 阅读 · 0 评论 -
过滤器Filter解决跨站点伪造问题
跨站点伪造的形成原理跨站点伪造的基本原理是客户登陆正确网站后,在同一个浏览器访问危险网站,危险网站窃取客户的cookie后携带该cookie信息访问正确网站,从而获得相应信息,结构如下图利用过滤器解决跨站点伪造...原创 2020-11-05 18:45:16 · 288 阅读 · 0 评论 -
利用过滤器解决sql盲注的问题
前言在项目中,很多时候如使用MyBatis等我们用sql拼接或者直接使用sql语句操作数据库时,就有可能遇到sql盲注的问题例如,如果我们的sql语句为select * from menu where name= #{name,jdbc=varchar}此时,如果我们传过来的name参数为‘’ or 1=1,此时就可以无视条件查询所有的menu通过在参数中插入非法的字符实现对数据库表和条目进行非法的查看、修改或删除操作,这就是SQL盲注解决办法我们可以通过Filter来过滤非法的参数,从而实现阻原创 2020-11-05 17:46:32 · 633 阅读 · 0 评论 -
@Schedule中关于fixedDelay和fixedRate的区别
先介绍下Schedule的使用方法1.首先新建使用Springboot的Maven项目,引入相关引用如下在pom.xml里添加如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactI...原创 2019-11-24 20:35:50 · 4149 阅读 · 1 评论 -
springboot的WEB项目中实现文件上传
java中的文件上传一共涉及两个组件:CommonMultipartResolver和StandardServletMultipartResolver而SpringBoot默认采用的MultipartResolver是StandardServletMultipartResolver单文件上传项目结构如下创建工程并添加相关依赖<dependency> <grou...原创 2020-04-07 18:58:37 · 599 阅读 · 0 评论 -
我在Eclipse开发过程最长用到的一些快捷键
ctrl+c:复制crtl+v:粘贴ctrl+z:回退ctrl+y:前进(与回退相反)ctrl+shift+r:查找文件ctrl+f:在本文件中查找与替换ctrl+h:在所有文件中查找ctrl+shift+o:去掉文件中没有用到的包ctrl+alt+h:查找用过该方法的地方alt+shift+j:给方法进行注解shift+home:选中光标至该行最前面shift+end:选中...原创 2020-04-07 18:39:32 · 126 阅读 · 0 评论 -
利用springBoot实现JSON返回
springBoot实现json返回本文将介绍三种方式实现json返回,分别是默认实现利用Gson解析利用fastjson解析默认实现首先添加web依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...原创 2020-03-09 19:53:39 · 543 阅读 · 1 评论 -
SpringBoot整合视图层技术
整合Thymeleaf什么是thymeleaf?thymeleaf是一个Java模板引擎,支持HTML原型,他可以让开发人员在没有后台数据的情况下直接用浏览器打开就能查看样式,也可以根据后端提供的数据查看显示效果SpringBoot整合Thymeleaf创建工程,添加spring-boot-start-web和spring-boot-thymeleaf依赖<dependency&g...原创 2020-03-04 19:12:53 · 295 阅读 · 0 评论 -
springboot启动报No active profile set, falling back to default profiles: default
springboot启动时报如下错误检查依赖问题,添加下面两个依赖就可以了<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>&...原创 2020-02-07 11:14:55 · 1575 阅读 · 0 评论 -
SpringBoot入门
SpringBoot入门SpringBoot简介可以快速创建基于Spring生产级的独立应用程序对一些常用的第三方库提供了默认的自动化配置方案可以打包成war包部署到Tomcat中运行,也可以打包成jar包直接启动第一个SpringBoot程序创建Maven工程第一种创建Maven工程方式:CMD窗口执行命令mvn archetype:generate -DgroupI...原创 2020-02-06 19:05:26 · 117 阅读 · 0 评论 -
应用监控中,关于对git信息进行监控的一些问题
关于监控的配置,在上一章节已经说过,下面就是我在配置git信息中的步骤和问题1.首先依照上一张引入相关依赖外,再引入plugin如下<build> <plugins> <plugin> <groupId>pl.project13.maven</groupId> ...原创 2019-12-09 16:56:44 · 236 阅读 · 0 评论 -
springboot中的应用监控
一、开启端点:1.首先要引入相关依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency...原创 2019-12-09 16:33:35 · 180 阅读 · 0 评论 -
使用IDEA开发项目时application.properties里中文提取出反应到前台为Unicode类型的问题
今天,在学习自定义信息的时候,从application.properties拿到的中文反应到前端为Unicode类型的乱码如图:解决方法为file-setting-File Encoding里将transparent native-to-ascii conversion勾选上如图:然后将配置文件中所有的中文重新写一遍,再启动服务器,有时一次可能不行,可以先将一个中文重写,等...原创 2019-12-06 11:24:48 · 314 阅读 · 0 评论