JAVA
文章平均质量分 83
三毛村滴雪鱼粉
编程不只是工作,更是一种乐趣
展开
-
Linux服务器部署java项目
JAVA项目部署到Linux服务器,安装JDK、安装MySQL、安装Tomcat原创 2022-08-27 13:15:59 · 4047 阅读 · 1 评论 -
Mybatis(四)——多表级联查询
MyBatis多表级联查询原创 2022-08-03 19:17:03 · 1154 阅读 · 1 评论 -
MyBatis(三)——二级缓存
MyBatis二级缓存原创 2022-08-02 19:19:47 · 760 阅读 · 0 评论 -
Java多线程
Java基础之多线程。1.什么是线程? 2.线程的创建、3.线程的状态和生命周期、4.线程优先级、5.线程同步、6.线程间通信原创 2022-07-31 17:16:36 · 202 阅读 · 0 评论 -
Java全栈
慕课网Java全栈课程笔记原创 2022-07-27 08:56:08 · 173 阅读 · 0 评论 -
创建SpringBoot项目的三种方式
创建SpringBoot项目的方式原创 2022-07-25 12:50:49 · 174 阅读 · 0 评论 -
Mybatis(二)进阶——日志管理与动态SQL
MyBatis进阶 :MyBatis日志管理,MyBatis动态SQL原创 2022-07-22 13:42:04 · 151 阅读 · 1 评论 -
Mybatis(一) 入门
MyBatis配置以及基本使用原创 2022-07-12 16:42:59 · 386 阅读 · 0 评论 -
数据库连接池
通过数据库连接池可以对我们程序创建连接的总量进行控制,避免由于连接过渡浪费导致程序崩溃的情况。原创 2022-07-03 19:01:41 · 401 阅读 · 0 评论 -
软件工程师培训 第一章 环境搭建与语法入门
Java基础第一章原创 2022-05-31 10:58:57 · 616 阅读 · 1 评论 -
抵御即跨站脚本(XSS)攻击
一、XSS攻击的危害XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。例如用户在发帖或者注册的时候,在文本框中输入,这段代码如果不经过转义处理,而直接保存到数据库。将来视图原创 2021-06-28 08:50:21 · 215 阅读 · 4 评论 -
虚拟机安装——VirtualBox
一.安装VirtualBox下载地址下载完,安装过程除了选择安装目录外,一直下一步就好了。二.虚拟机的安装1.创建虚拟机(1)在VirtualBox界面上点击新建按钮,开始创建虚拟机(2) 定义虚拟机的名字,只要你填写CentOS,下面会自动设置好类型为Linux,版本为RedHat(3)虚拟机的内存建议设置成2GB(2048MB)这里设置内存大小2GB不是启动虚拟机就直接用掉2GB内存空间,这里只是规定的最大内存空间。低负载的情况下,虚拟机实际占用的内存仅仅几百兆而已。(4)默认选原创 2021-06-22 10:24:12 · 862 阅读 · 0 评论 -
Modbus通讯协议(四)——Java实现ModbusTCP Slave(从机)
本文通过Java开源库jlibmodbus实现modbusTCP通讯 从机端添加依赖<dependency> <groupId>com.intelligt.modbus</groupId> <artifactId>jlibmodbus</artifactId> <version>1.2.9.7</version></dependency>Java实现从机读写操作ModbusSl原创 2021-06-08 10:11:42 · 11801 阅读 · 14 评论 -
Modbus通讯协议(三)——Java实现ModbusTCP Master(主机)
本文通过Java开源库Modbus4J实现modbusTCP通讯添加依赖Maven配置阿里云仓库下载不下来modbus4J,注释掉阿里云仓库。想引用modbus4J需要引入repository id:ias-snapshots和id:ias-release两个<repositories><!-- <repository>--><!-- <id>central</id>--><!--原创 2021-06-08 08:22:03 · 5455 阅读 · 1 评论 -
Springboot项目连接SQL Server数据库
pom.xml中添加依赖<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version></dependency>application.yml中配置数据源spring: # 数据源配置,请修改为你项目的实际配置原创 2021-06-07 16:26:16 · 3051 阅读 · 0 评论 -
Modbus通讯协议(二)——Java向ModbusSlave模拟器读写数据
本文介绍通过Java程序向modbus slave模拟器工具读写数据。使用TCP的连接方式,modbus rtu通讯协议。安装Modbus Slave安装及使用请看上一篇文章:Modbus通讯协议(一)——测试工具ModbusPoll和ModbusSlave,本篇使用的是Modbus Slave 7.3.1 ,过低版本不支持TCP方式上使用modbus rtu设置参数并开启连接点击菜单Setup–>Resd/Write Definition 进行参数设置,Function 选01点击菜单C原创 2021-04-16 16:22:50 · 3325 阅读 · 0 评论 -
Modbus通讯协议(一)——测试工具ModbusPoll和ModbusSlave
ModbusPoll是Modbus主机仿真器,用于测试和调试Modbus从设备。ModbusSlave: Modbus从设备仿真器,可以仿真32个从设备/地址域。本文使用ModbusPoll、ModbusSlave,并通过vspd虚拟串口工具测试Modbus传输数据。转载 2021-04-12 15:46:15 · 13935 阅读 · 0 评论 -
JAVA泛型的用法及使用泛型的优势
javascript和python这类动态语言是没有泛型机制的。java和C#是静态编译型语言,传递参数的时候要求参数的类型必须是明确的。泛型主要解决的问题:1.参数不安全2.重复编码本次的示例通过实现一个栈(数据后进先出 push() pop()) (队列是先进先出)来讲述使用泛型的优势及相关用法基础写法新建一个StackInt类package com.lin.why;public class StackInt { private int maxSize; pri原创 2021-03-04 13:29:28 · 410 阅读 · 3 评论 -
使用SpringCloud框架实现慕课网主页后端开发
涉及的技术SpringCloud是一套分布式服务治理的框架,本身就不会提供具体功能性的操作,更专注于服务之间的通讯、熔断、监控等等。因此就需要很多组件去支撑这样的一套功能。企业中最高频使用的组件有:Eureka,Zuul,Feign,HystrixEureka企业级开发中最高频使用的组件,SpringCloud框架中的基础组件,通常SpringCloud项目都会用到。提供了服务注册和服务发现的功能。由于SpringCloud是微服务框架,整个系统中会存在多个功能点较少的微服务,Eureka的注册和发原创 2020-06-18 11:37:14 · 3553 阅读 · 3 评论 -
Swagger2配置(解决404报错)
在spring boot项目中配置Swagger2,配置好了但是访问确实404,SwaggerConfig中的注入方法也执行了还是访问不到页面。究其原因是MVC没有找到swagger-ui包中的swagger-ui.html文件。Swagger2的配置步骤如下:一、引入依赖pom.wml<dependency> <groupId>io.springfox</groupId> <artifactId>spr原创 2020-05-31 13:46:58 · 14549 阅读 · 1 评论 -
全站课-阶段二(Java SpringBoot API打造高级电商业务后端)
慕课网Java全栈课笔记——第二阶段原创 2020-06-12 16:59:19 · 991 阅读 · 1 评论 -
ThreadLocal解决多线程问题
ThreadLocal简介多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证线程安全的方法,当我们在创建一个变量后,如果每个线程对其进行访问的都是线程自己的变量这样就不会存在线程不安全得问题。在JDK 1.2的版本...原创 2020-04-03 16:33:59 · 1182 阅读 · 0 评论 -
Java 8新特性之 Optional
Optional简介Optional 类的引入主要是为了解决解决空指针异常的问题。Optional是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional可以帮助我们简化代码,给我们的判空操作提供了一种标准的写法,强制我们考虑空值的情况。类方法方法描述static Optional empty()返回空的Optional实例...原创 2020-03-21 20:29:45 · 947 阅读 · 0 评论 -
SpringBoot访问静态资源
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependen...原创 2020-03-19 22:44:51 · 384 阅读 · 0 评论 -
Java 8新特性之Lambda 表达式
Lambada表达式简介Lambada表达式可以说是推动Java 8发布最重要的新特性。Lambada允许吧函数作为一个参数传递进方法中,使用Lambada表达式可以使我们的代码更加简洁优雅。Lambada表达式特性可选的参数: 一个 Lambda 表达式可以有零个或多个参数可选类型声明: 参数的类型既可以明确声明,也可以根据上下文来推断。例如:(int t)与(t)效果相同参数在圆...原创 2020-03-19 20:37:32 · 214 阅读 · 0 评论 -
JPA的Repository详解
Spring Data JPASpring Data是Spring提供的操作数据的框架,Spring Data JPA是Spring Data的一个模块,通过Spring data 基于jpa标准操作数据的模块。Spring Data的核心能力,就是基于JPA操作数据,并且可以简化操作持久层的代码。它使用一个叫作Repository的接口类为基础,它被定义为访问底层数据模型的超级接口。而对于...原创 2020-03-17 17:49:32 · 32727 阅读 · 5 评论 -
JPA映射关系配置(一对多、多对多)
实体关系是指实体与实体之间的关系,从方向上分为单向关联和双向关联,从实体数量上分为一对一、一对多、多对多等。对于任何两个实体,都要从这两个方面区分它们之间的关系。一对多表结构设计-- ------------------------------ Table structure for banner-- ----------------------------DROP TABLE IF ...原创 2020-03-07 11:36:23 · 424 阅读 · 0 评论 -
Idea逆向生成实体类
数据库中如果已经有了数据表,我们就没有必要再对照着数据表的字段把模型再一个一个写一遍。本文介绍通过Idea逆向生成模型。连接数据库Idea中有内置的类似Navicat的可视化数据库管理工具。点击View——>Tool Windows——>Database 可以调出Database的面板在控制面板处点击左上角的"✚"号——>Data Source——>选择数据库类型...原创 2020-03-02 23:39:46 · 1526 阅读 · 0 评论 -
Springboot 配置 application.yml 连接MySQL数据库
1.pom.xml中加入依赖<!-- JPA的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa<...原创 2020-02-08 08:58:16 · 16228 阅读 · 4 评论 -
SpringBoot多环境(开发、生产和测试环境)配置文件
我们的项目在开发环境、生产环境,不同的环境下会有不同的配置。比如访问服务的端口,或者数据库的配置。如果每次切换环境都去直接修改这些配置的值,不仅麻烦而且很容易出错。我们如何才能根据环境动态的选择配置文件呢?如图是我项目中的3个配置文件。其中,记录在application.yml中的配置项在任何环境下都会生效,记录在application-dev.yml中的配置项只在dev(开发)环境下生效,记录...原创 2020-02-07 19:08:21 · 4362 阅读 · 0 评论 -
SpringBoot自动配置
SpringBoot自动配置原理@SpringBootApplicationSpringBoot应用程序能够实现自动配置主要依靠引导类上的一个注解:@SpringBootApplicationpackage com.lin.missyou;import org.springframework.boot.SpringApplication;import org.springframewo...原创 2020-02-03 21:12:38 · 181 阅读 · 0 评论 -
SpringBoot之参数接收与校验
参数校验对于我们Web开发是非常重要的。第一,作为服务端的开发者,如果你的参数校验写的足够规范是可以大大提高前后端协同开发的开发效率的,从而为公司及自己大大节约时间成本以及经济成本。第二,参数校验对于保护Web里面的机密数据和机要信息也是非常重要的。...原创 2020-02-02 12:37:48 · 1544 阅读 · 0 评论 -
lombok的基本使用
1-5lombok的基本使用方式lombok是一个可以帮助我们大幅度简化代码的Java代码工具。比如JavaBean中private的成员变量需要getter和setter方法,大量的getter和setter方法在一个类中会让我们的类显得非常长。使用lombok工具就可以省去这些代码。使用方法在pom文件中添加配置此处未指定版本,你也可以指定版本<dependency>...原创 2020-01-31 12:56:21 · 299 阅读 · 0 评论 -
SpringBoot根据目录结构自动配置Url前缀
在很多其他框架中,比如Python的Flask、node.js的KOA,Controller要想能够响应前端的请求都需要我们主动去注册到应用程序上。而Spring不需要我们自己去注册,由Spring通过扫描注解的方式去主动发现。自定义RequestMappingInfoSpring中的RequestMappingHandlerMapping专门来负责处理标注了@RequestMapping的控...原创 2020-01-29 21:29:51 · 4733 阅读 · 9 评论 -
SpringBoot全局异常处理
为了让客户端能有一个更好的体验,当客户端发送请求到服务端发生错误时服务端应该明确告诉客户端错误信息。SpringBoot内置的异常处理返回的界面太杂乱,不够友好。我们需要将异常信息做封装处理响应给前端。创建一个全局异常处理类``...原创 2020-01-28 21:13:21 · 428 阅读 · 0 评论 -
Java异常分类及处理
异常分类Throwable: 在Java中,Throwable是所有异常的根基类,直接从Object继承而来,只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch)。它有两个子类:Error 和 Exception。Error: java 运行时系统的内部错误和资源耗尽错误,如虚拟机崩溃等。通过应用程序无法解决,应用程序不会抛出该类对象。Exception: 应用...原创 2020-01-20 14:57:52 · 207 阅读 · 0 评论 -
Spring之策略模式的解决方案
1.byname 切换bean的name2.@Qualifier指定bean3.有选择的只注入一个bean——注释掉某些bean上的@Component注解4.使用@Primary第1种方案需要在源代码里改Bean的名字,不推荐。前三种可选但是并不推荐,如果只是写业务代码,所有的代码都是你自己写的,当然可以每个方案随意使用。第4种方案,@Primary 的意思是优先,标注了@Primary...原创 2020-01-17 17:51:55 · 206 阅读 · 0 评论 -
Spring之模式注解
模式注解(Stereotype Annotations)Spring框架中有很多可用的注解,模式注解(Stereotype Annotations)是其中的一类。首先来看一段官方对Stereotype Annotations的定义。A stereotype annotation is an annotation that is used to declare the role that a ...原创 2020-01-17 16:27:19 · 489 阅读 · 0 评论 -
spring之@Conditional条件注解
自定义注解内置的成品条件注解@ConditionalOnProperty@ConditionalOnBean 当SpringIoC容器内存在指定Bean的条件@ConditionalOnClass @ConditionalOnExpression 基于SpEL表达式作为判断条件@ConditionalOnJava 基于JVM版本作为判断条件@ConditionalOnJndi 在JN...原创 2020-01-16 15:09:17 · 480 阅读 · 0 评论 -
SpringBoot默认包扫描机制及使用@ComponentScan指定扫描路径
SpringBoot默认包扫描机制标注了@Component和@Component的衍生注解如@Controller,@Service,@Repository就可以把当前的Bean加入到IOC容器中。那么SpringBoot是如何知道要去扫描@Component注解的。SpringBoot默认包扫描机制: 从启动类所在包开始,扫描当前包及其子级包下的所有文件。我们可以通过以下的测试来验证一下...原创 2020-01-15 16:36:18 · 29148 阅读 · 4 评论