Java 生产初学常用注解
目录
- 0. 基础语法
- 逻辑运算符
- 继承
- 抛出异常
- 获取数据方式
- 泛型
- 1. 接收前端数据(controller)
- mybatis
- 1. QueryWrapper
- 获取和赋值
- 2. service 层
- 注解
- 3. Dao 层(与数据库交互)
- 3.1 mybatis-plus中BaseMapper
- 4. ELK框架
- es配置sql参数
- logstash
- 数据读取
- csv数据读取
- 导入数据库数据
- 查询日志
- idea的debug调试按钮使用
0. 基础语法
class:用于定义一个类。
public:用于声明公共的访问级别,表示对所有类可见。
private:用于声明私有的访问级别,表示只有在同一类中可见。
static:用于声明静态成员,可以在没有创建对象的情况下访问。使得非静态类更适合用于表示具有多个实例的对象,例如用户、订单等。
void:用于表示方法没有返回值。
final:用于声明最终的变量,表示不能再修改其值。
if/else:用于条件语句,根据条件执行不同的代码块。
for/while/do-while:用于循环语句,重复执行一段代码块。
try/catch/finally:用于异常处理,捕获并处理异常。
new:用于创建对象实例。
this:访问当前对象或类中的成员变量和方法,例如访问this.name、this.age等成员变量,或者调用this.method()等方法。
逻辑运算符
&& 且 || 或
! 的优先级别高(先执行!后执行&& ||)
继承
public class 子类 extends 父类{}
抛出异常
这里不行这里报错,不终止全部程序。
throw: 指的是在方法之中人为抛出一个异常类对象,这个对象可以是自己实例化,或者是已经存在的。
throws: 指的是在方法的声明上使用,表示此方法在调用时必须处理异常。
方法后边加上throws Exception的作用是抛出异常。其中Exception可以理解为所有异常,也可以抛出指定异常。如果方法后边不加throws Exception,方法出了异常就会向上传递抛出(如果方法有调用者,那就交给调用者处理,如果调用者继续一层层抛出,最终交给虚拟机,虚拟机处理,整个程序会中断! 如果在程序中捕获 还可以继续进行)
获取数据方式
get:从里面拿
post:往里面放
put:
delete:删除
post 不需要传入
新增 insert,修改update,
泛型
List指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据.
1、集合可以有List,vector等,其实map也是一个集合
2、这些集合有啥用呢,就好比你有一堆数据要存:
[name=‘张三’ , age=20, address=‘北京’]
[name=‘李四’ , age=15, address=‘湖南’]
[name=‘王五’ , age=18, address=‘甘肃’]等等,
这样一条一条的数据你就能够用集合来保存起来,放到一条集合中去
3、例如用list来保存,保存形式就如下:
list = {[name=‘张三’ , age=20, address=‘北京’], [name=‘李四’ , age=15, address=‘湖南’] , [name=‘王五’ , age=18, address=‘甘肃’]};
这样的形式了,然后取值的时候你就可以根据list.get(i)来分别取值了。
4、如果要取到每一条里面的属性,那么可以配合map或者存储的是实体类对象,来分别取值就对了,非常的简单且实用
List list = new ArrayList();
…
list.get(0).getName();
1. 接收前端数据(controller)
@GetMapping是Spring4.3提供的新注解,它是一个组合注解,等价于@RequestMapping(method = RequestMethod.Get ),用于简化开发,注意:@RequestMapping如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式.同理还有@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping等
@Autowired注入(相当于python中的import库,多了一步操作)
RestController的作用相当于Controller加ResponseBody共同作用的结果,但采用RestController请求方式一般会采用Restful风格的形式。
Controller的作用:声明该类是Controller层的Bean,将该类声明进入Spring容器中进行管理
collection 包括 List(列表),Set(集合),Queue(队列)
collection<?> coll
copyProperties(a,b)是把a复制给b
mybatis
1. QueryWrapper
Mybatis-plus 提供的动态条件查询(条件构造器)
常见用法:
用来查询id等
获取和赋值
get 参数名 获取
set 参数名 赋值
2. service 层
注解
-
重写
@Override 告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1>可以当注释用,方便阅读
2>编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错 -
服务类
@ service 定义成服务类之后才能用import 加载进来。 -
工厂方法
工厂方法模式是一种设计模式,它的作用是将对象的创建和使用分离开来,从而使得程序更加灵活、可维护。在工厂方法模式中,我们通常会定义一个抽象的工厂类,该类中包含一个静态的方法,用于根据输入参数创建相应的对象。
3. Dao 层(与数据库交互)
定义新用数据的方法在这写
3.1 mybatis-plus中BaseMapper
集成增删改查的功能
4. ELK框架
参考文章
Elasticsearch:开源分布式搜索引擎,提供收集、分析、存储数据三大功能
- 特点:分布式、零配置、自动发现、索引自动分片、索引副本机制、restful风格接口、多数据源、自动搜索负载
Logstash:用来做日志的收集、分析、过滤日志的工具,支持大量的数据获取方式。
- 工作方式:c/s架构,client端安装在需要收集日志的主机上,server端负责将收集到的各个节点的日志进行过滤、修改等操作,再一并发往elasticsearch上去。
es配置sql参数
ES指令
cmd命令初始化:npm install
cmd命令启动:npm run dev
logstash
数据读取
csv数据读取
input {file {#要读取的数据文件的路径path => "D:/elk/logstash-7.6.1/config/TSI_DOC_TITLE_CONTENT_VIEW.csv"start_position => "beginning"}
}filter {csv {#分隔符separator => ","#数据对应的字段名,顺序要和字段值一致columns => ["TID","TNAME","TPARENT","DID","CONTENT"]}mutate{#忽略某些字段remove_field => ["@version","message","host","path","@timestamp"]#类型convert => {"TID" => "string""TENAME" => "string""TPARENT" => "string""DID" => "string""CONTENT" => "string"}}
}output {elasticsearch {#要写入的es地址hosts => "http://localhost:9200"#索引index => "title"#类型,6.X版本后的固定用这个document_type => "_doc"#定义文档id用表数据的主键,会方便核对数据document_id =>"%{TID}"}stdout {}
}
cmd进入bin目录执行:logstash -f data.conf
导入数据库数据
input {jdbc {jdbc_driver_library => "d:/elk/logstash-7.6.1/lib/ojdbc6-11.2.0.2.0.jar"jdbc_driver_class => "Java::oracle.jdbc.OracleDriver"jdbc_connection_string => "jdbc:oracle:thin:@192.168.212.22:7210:chestnut"jdbc_user => "chestnut"jdbc_password => "chestnut1111"schedule => "* * * * *"statement_filepath => "d:/elk/logstash-7.6.1/sql/gettitlecontent.sql"jdbc_page_size => "100000"use_column_value => "true"tracking_column => "tid"codec => plain { charset => "UTF-8"}jdbc_paging_enabled => true}
}
filter {mutate{#忽略某些字段remove_field => ["@version","message","host","path","@timestamp"]}
}output {elasticsearch {#要写入的es地址hosts => "http://localhost:9200"#索引index => "title"#类型,6.X版本后的固定用这个document_type => "_doc"#定义文档id用表数据的主键,会方便核对数据document_id => "%{tid}"}stdout {}
}
cd到bin目录运行:logstash -f getoracle.conf
查询日志
idea 后端可以在开始的地方,通过git插入代码
vscode 前端通过 git 指令拉代码 git clone https://github.com/Eugene-Hung/Test.git,直到显示succeed。
前端通过ES的指令启动,只有把代码作为开头才能npm install 不能作为一个模块打开
!! 可以通过前端的network来看后端端口
通过传参看各个变量的定义
idea的debug调试按钮使用
相关文章:
![](https://img-blog.csdnimg.cn/faffaee6f2d647c4b0c6c3d75f3eac96.png)
Java 生产初学常用注解
目录 0. 基础语法逻辑运算符继承抛出异常获取数据方式泛型 1. 接收前端数据(controller)mybatis1. QueryWrapper获取和赋值 2. service 层注解 3. Dao 层(与数据库交互)3.1 mybatis-plus中BaseMapper 4. ELK框架es配置sql参数logs…...
![](https://img-blog.csdnimg.cn/8963ac4c0d1d4f92977c06ed49e28893.png)
mousedown拖拽功能(vue3+ts)
因为项目有rem适配,使用第三方插件无法处理适配问题,所有只能自己写拖拽功能了 拖拽一般都会想到按下,移动,放开,但是本人亲测,就在div绑定一个按下事件就行了(在事件里面写另外两个事件&#x…...
![](https://img-blog.csdnimg.cn/884a61ad17f041bf9ac0ebaf6fecf851.png#pic_center)
【论文阅读】基于深度学习的时序异常检测——TransAD
系列文章链接 数据基础:多维时序数据集简介 论文一:2022 Anomaly Transformer:异常分数预测 论文二:2022 TransAD:异常分数预测 论文链接:TransAD.pdf 代码库链接:https://github.com/imperial…...
![](https://www.ngui.cc/images/no-images.jpg)
NLPCC 出版部分相关源码记录
目录 Download Unzip Author Title Affiliation Check number of tex Zip Rename Delete Download import requests from bs4 import BeautifulSoup# 登录网站并获取登录后的 session def login(username, password):login_url https://example.com/loginsession re…...
![](https://img-blog.csdnimg.cn/bcf38efcc7d94faf8885f5dacec949ca.jpeg)
【Windbg】通过网络调试windows内核
环境 windows版本:win10_x64 1901 windbg版本:1.2306.12001.0 HOST 1、windbg软件设置。 点击菜单文件,然后如下图操作。 2、等待连接。 ************* Waiting for Debugger Extensions Gallery to Initialize **************>>&…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.5/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N6B9)
代码随想录算法训练营之JAVA|第二十四天| 93. 复原 IP 地址
今天是第24天刷leetcode,立个flag,打卡60天。 算法挑战链接 93. 复原 IP 地址https://leetcode.cn/problems/restore-ip-addresses/ 第一想法 题目理解:将一串数字字符串变成正确的ip格式的字符串。 这类题目是切分字符串,ip一…...
![](https://img-blog.csdnimg.cn/90cc82ee21594e57a1ed1c391d51f0b9.jpeg#pic_center)
网络安全 Day30-运维安全项目-堡垒机部署
运维安全项目-堡垒机部署 1. 运维安全项目-架构概述2. 运维安全项目之堡垒机2.1 堡垒机概述2.2 堡垒机选型2.3 环境准备2.4 部署Teleport堡垒机2.4.1 下载与部署2.4.2 启动2.4.3 浏览器访问teleport2.4.4 进行配置2.4.5 安装teleport客户端 2.5 teleport连接服务器 1. 运维安全…...
![](https://www.ngui.cc/images/no-images.jpg)
电脑文件夹备份命令
电脑文件夹备份 cmd窗口输入shell:startup 将备份.bat文件放到,自启动文件夹下 bat文件内容写以下就可以了 Xcopy "D:\文件\" "F:\文件备份\" /E/H/C/I/y...
![](https://img-blog.csdnimg.cn/3e22247b2dea43518245cd9679f04607.png)
RocketMQ Learning(一)
目录 一、RocketMQ 0、RocketMQ的产品发展 1、RocketMQ安装 1.1、windows下的安装 注意事项 1.2、Linux下的安装 1.3、源码的安装 1.4、控制台 2、消息发送方式 2.1、发送同步消息 2.2、发送异步消息 2.3、单向发送 3、消息消费方式 3.1、负载均衡模式࿰…...
![](https://img-blog.csdnimg.cn/img_convert/87ed5d59344f4417fdd842a760465c93.png)
libmpv使用滤镜处理视频进行播放
一、前言 作为一个功能强大的多媒体框架,libmpv为开发者提供了广泛的功能和灵活的控制权。滤镜是libmpv的一个重要特性,允许开发者对视频进行各种实时处理和增强,从而满足用户对于个性化、创意化和高质量视频体验的需求。 滤镜是一种在视频渲染过程中应用特定效果的技术。…...
![](https://www.ngui.cc/images/no-images.jpg)
Harbor.cfg 配置文件参数详解
目录 Harbor.cfg 配置文件参数详解 所需参数: hostname: ui_url_protocol: max_job_workers: db_password: customize_crt: ssl_cert: ssl_cert_key: secretkey_path&#…...
![](https://img-blog.csdnimg.cn/36474a1e5d894671ac93c65f60449036.gif)
模仿火星科技 基于cesium+ 贴地测量+可编辑
当您进入Cesium的编辑贴地测量世界,下面是一个详细的操作过程,帮助您顺利使用这些功能: 1. 创建提示窗: 启动Cesium应用,地图场景将打开,欢迎您进入编辑模式。在屏幕的一角,一个友好的提示窗将…...
![](https://img-blog.csdnimg.cn/5dd6a95662dd404ab5eb8607b9c156a5.gif)
模仿火星科技 基于cesium+角度测量+高度测量+可编辑
1. 创建提示窗: 启动Cesium应用,地图场景将打开,欢迎您进入编辑模式。 在屏幕的一角,一个友好的提示窗将呈现,随着您的操作,它会为您提供有用的信息和指导。 2. 绘制面积: 轻轻点击鼠标左键&a…...
![](https://www.ngui.cc/images/no-images.jpg)
Codeforces の 动态规划
Codeforces Round 785 (Div. 2) - C. Palindrome Basis dp(9/100) 题目链接 思路:整数划分基础上加一个判断回文的条件 整数划分思路:背包容量为n,物品有体积为1~n n种,每种无数个,求使背包恰好装满的方案数——完全背…...
![](https://img-blog.csdnimg.cn/b94e5413bce242efab952c550cba7762.png)
数学建模-爬虫系统学习
尚硅谷Python爬虫教程小白零基础速通(含python基础爬虫案例) 内容包括:Python基础、Urllib、解析(xpath、jsonpath、beautiful)、requests、selenium、Scrapy框架 python基础 进阶(字符串 列表 元组 字典…...
![](https://img-blog.csdnimg.cn/6ccd3f86fa71418680b29e68bc928849.png)
HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制概述
ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。 在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数…...
![](https://img-blog.csdnimg.cn/69e9169c980f43e0aad31ff9ada88a9c.png)
【力扣刷题 | 第二十五天】
目录 前言: 474. 一和零 - 力扣(LeetCode) 总结: 前言: 今天我们依旧暴打动态规划 474. 一和零 - 力扣(LeetCode) 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集…...
![](https://img-blog.csdnimg.cn/19374b93b78743b5ba48bafc353f4d2b.png)
GO学习之 函数(Function)
GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 文章目录 GO系列前言一、什么是…...
![](https://www.ngui.cc/images/no-images.jpg)
Jstack线上问题排查
1.top查找出哪个进程消耗的cpu高。执行top命令,默认是进程视图,其中PID是进程号(记下进程号) 2.top中shifth 或“H”查找出哪个线程消耗的cpu高 (记下最高的几个线程号) jstack 进程号 >> pid-cpu.…...
![](https://img-blog.csdnimg.cn/ff76538b98314199a074e92bc8e96198.jpeg)
VIM 编辑器: Bram Moolenaar
VIM 用了很长时间, 个人的 VIM 配置文件差不多10年没有更新了。以前写程序的时候, 编辑都用这个。 linux kernel, boost规模的代码都不在话下。现在虽然代码写的少了,依然是我打开文件的首选。 现在用手机了,配个蓝牙键…...
![](https://www.ngui.cc/images/no-images.jpg)
鸿蒙应用开发指南:从零开始构建一款智能音乐播放器
介绍 随着鸿蒙操作系统的发布,开发者们迫不及待地想要探索鸿蒙应用的开发。本篇博客将以构建一款智能音乐播放器为例,带你一步步了解鸿蒙应用开发的技术要点和实践。我们将使用HarmonyOS的开发环境和MarkDown进行排版,方便你快速上手。 准备…...
![](https://img-blog.csdnimg.cn/img_convert/b7bc77095a99db22e627187dd57339a9.png)
如何实现对主机的立体监控?
主机监控是保证系统稳定性和性能的重要环节之一,那应该如何实现对主机的立体监控? 本期EasyOps产品使用最佳实践,我们将为您揭晓: 主机应该如何分组和管理? 主机监控应该关注哪些关键性指标? 背 景 通…...
![](https://img-blog.csdnimg.cn/fa5952a957a34235a5af68e90b23131a.png)
机器学习笔记:李宏毅ChatGPT Finetune VS Prompt
1 两种大语言模型:GPT VS BERT 2 对于大语言模型的两种不同期待 2.1 “专才” 2.1.1 成为专才的好处 Is ChatGPT A Good Translator? A Preliminary Study 2023 Arxiv 箭头方向指的是从哪个方向往哪个方向翻译 表格里面的数值越大表示翻译的越好 可以发现专门做翻…...
![](https://www.ngui.cc/images/no-images.jpg)
中电金信:逐数兴业 智启未来——“数据二十条”影响之解读 (下)
在逐数兴业 智启未来——“数据二十条”影响之解读(上)篇内容中,主要解读了有关于“数据二十条”发布的背景与意义、建立数据要素市场面临的挑战与应对。在今天的文章里,将继续解读“数据二十条”的主要内容以及对金融行业和金融科…...
![](https://img-blog.csdnimg.cn/img_convert/be74cfe4df2e843cb427ca8f0d58c265.png)
54款宝藏级AIGC工具分享(claude,Midjourney,Stable Diffusion等)
随着ChatGPT的一波又一波高潮,生成式AI逐渐进入人们视野,并开始大行其道,正如人们所说:AI用的好,天天下班早! 当然,有效的利用AI不但能下班早,还能在上班时间摸鱼,就如潘…...
![](https://img-blog.csdnimg.cn/img_convert/9dfc85435ab473aaa11708a00b8dfe4b.png)
bigemap如何添加在线地图源?
第一步 打开浏览器,找到你要访问的地图的URL地址,并且确认可以正常在浏览器中访问;浏览器中不能访问,同样也不能在软件中访问。 以下为常用地图源地址: 天地图: http://map.tianditu.gov.cn 包含&a…...
![](https://img-blog.csdnimg.cn/3068df1a11344add99c59b98431f5943.png#pic_center)
84. 柱状图中最大的矩形
题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释:最…...
![](https://img-blog.csdnimg.cn/df4bc70674534d1fadc379b5ebe97f19.png)
嘉楠勘智k230开发板上手记录(二)--hello world
上次成功在k230上烧录sdk,这次准备实现hello world和ssh scp远程k230 主要是按照K230 SDK 基础教程的K230_实战基础篇_hello_world.md 一、PC连接k230 1. 初步准备 首先下载串口工具PuTTY,这个我个人感觉比较方便。 准备两根USB type-C数据线&#…...
![](https://img-blog.csdnimg.cn/img_convert/45cdf5b7f321173cdd940c34e493a0bb.webp?x-oss-process=image/format,png)
ArcGIS Pro实践技术应用——暨基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合、案例应用全流程科研能力提升
查看原文>>>ArcGIS Pro实践技术应用——暨基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合能力 本文将利用ArcGIS Pro 将您的 GIS 工作组织到工程中,您可以使用 ArcGIS Pro 映射 2D 和 3D 数据。借助 ArcGIS Proÿ…...
![](https://img-blog.csdnimg.cn/57bf040c5e7548889bb737b0b1e8a482.png)
学习pytorch
学习pytorch 1. 环境安装配置镜像源conda命令记录图像相关代码遇到的问题1. torch.cuda.is_available() False 1. 环境安装 B站小土堆视频 配置镜像源 conda config --show channels conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main…...
![](https://img-blog.csdnimg.cn/img_convert/5afc210ebf4b8a8bde270004bc559a6e.png)
做化工资讯的网站/一个新手怎么做电商
前言 Android确实不是当年盛况,已经不再像前几年前那么火爆。一个新行业如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋近一个平稳的值。那…...
![](/images/no-images.jpg)
网站模块有哪些/seo快速排名软件app
OLTP系统的后端关系数据库用于存储不同种类的数据,理论上来讲,数据库中每一列的值都有其所代表的特定含义,数据也应该在存入数据库之前进行规范化处理,比如说“age”列,用于存储人的年龄,设置的数据类型为I…...
![](/images/no-images.jpg)
server2008 iis 网站/西安seo培训机构
在项目中,数据库字段存储逗号隔开字符串,只需求修改其中几个,应该怎么写sql update 表名 set 表中所需修改字段名replace(表中所需修改字段名,该字段旧值, 该字段新值) where 该字段旧值 like ,%该字段中所需要修改得值%;...
![](https://img2018.cnblogs.com/blog/1430436/201904/1430436-20190427123737248-973924544.png)
织梦 和wordpress/淘宝关键词指数查询
1.点击如下链接进入下载jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 按照提示安装成功!(很简单) 下载如图: 2.找到如图所示的目录(直到home,是bin的根目录)…...
![](/images/no-images.jpg)
linux下wordpress建站/软文营销是什么意思
大家好,这里是捷径手机宝典,我是阿轲iOS 12.4 在历经了 7个 beta测试版后,终于在今天凌晨发布了正式版,不出意外的话,这应该是iOS12系列的最后一个版本iOS12.4正式版更新内容包括修复图片重启BUG过滤未知发件人功能优化…...
![](/images/no-images.jpg)
最新备案网站查询/在线排名优化工具
跨浏览器的本地存储多种方式,例如:1、localStorage:只支持IE8、FireFox、Chrome、Opera等,不支持IE8以下的浏览器。2、浏览器Cookie:支持的数据存储量相对较少,每个domain最多只能有20条cookie,每个cookie长…...