Java 生产初学常用注解

news2024/11/25 4:26:35

目录

  • 0. 基础语法
    • 逻辑运算符
    • 继承
    • 抛出异常
    • 获取数据方式
    • 泛型
  • 1. 接收前端数据(controller)
  • QueryWrapper
  • 2. service 层
    • 注解
  • 3. Dao 层(与数据库交互)
    • 3.1 mybatis-plus中BaseMapper
  • 4. ELK框架
    • es配置sql参数
    • logstash
      • 数据读取
        • csv数据读取
        • 导入数据库数据
    • 查询日志

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

QueryWrapper

Mybatis-plus 提供的动态条件查询(条件构造器)
常见用法:
用来查询id等
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. service 层

注解

  1. 重写
    @Override 告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
    1>可以当注释用,方便阅读
    2>编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错

  2. 服务类
    @ service 定义成服务类之后才能用import 加载进来。

  3. 工厂方法
    工厂方法模式是一种设计模式,它的作用是将对象的创建和使用分离开来,从而使得程序更加灵活、可维护。在工厂方法模式中,我们通常会定义一个抽象的工厂类,该类中包含一个静态的方法,用于根据输入参数创建相应的对象。

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来看后端端口
通过传参看各个变量的定义

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/848520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用go-zero快速构建微服务

本文是对 使用go-zero快速构建微服务[1]的亲手实践 编写API Gateway代码 mkdir bookstore && cd bookstorego mod init bookstore mkdir api && goctl api -o api/bookstore.api syntax "v1"info(title: "xx使用go-zero"desc: "xx用…

springboot(6)

Fastclass机制&#xff1a; 为一个对象创建对应的Fastclass对象&#xff0c;对象的各个方法会创建索引index关联到fastclass对象&#xff0c;每个index对应一个方法&#xff0c;之后只需要通过对象实例以及index&#xff0c;调用invoke(instance,index,args)&#xff0c;即可调…

今天面了个00后测试员,让我见识到什么才是内卷届的天花板...

深耕IT行业多年&#xff0c;我们发现&#xff0c;对于一个程序员而言&#xff0c;能去到一线互联网公司&#xff0c;会给我们以后的发展带来多大的影响。 很多人想说&#xff0c;这个我也知道&#xff0c;但是进大厂实在是太难了&#xff0c;简历投出去基本石沉大海&#xff0…

【软件工程】3 ATM系统的设计

目录 3 ATM系统的设计 3.1体系结构设计 3.2 设计模式选择 3.3 补充、完善类图 3.4 数据库设计 3.4.1 类与表的映射关系 3.4.2 数据库设计规范 3.4.3 数据库表 3.5 界面设计 3.5.1 界面结构设计 3.5.2 界面设计 3.5.2.1 功能界面设计 3.5.2.2 交互界面 总博客&…

【性能类】—浏览器渲染机制

一、什么是DOCTYPE及作用 DTD&#xff08;文档类型定义&#xff09;&#xff1a;是一系列的语法规则&#xff0c;用来定义XML或HTML的文档类型。浏览器会使用它来判断文档类型&#xff0c;决定使用何种协议来解析&#xff0c;以及切换浏览器模式 解释&#xff1a;DTD就定义DOC…

【13】SAP ABAP性能优化 - 共享对象 (Shared Objects)

1. 背景 “共享对象”是NetWeaver 6.40以上版本ABAP编程中的一个技术&#xff0c;在"共享对象"概念出来之前&#xff0c;在ABAP中可以通过EXPORT和IMPORT这样的关键字去访问服务器上的共享内存&#xff0c;实现不同进程中的数据交互。有关这方面的概念&#xff0c;我…

5分钟,带你了解低代码开发

在传统的理解中&#xff0c;企业内数字化应用的开发和迭代应该是 IT 部门的工作&#xff0c;但事实并非如此。一方面&#xff0c;激烈的市场竞争和反复出现的疫情给数字化提出了新的要求&#xff1b;另一方面&#xff0c;五花八门的零代码、低代码工具正如雨后春笋一般出现&…

【设计模式】——模板模式

什么是模板模式&#xff1f; 模板方法模式&#xff08;Template Method Pattern&#xff09;&#xff0c;又叫模板模式(Template Pattern)&#xff0c;在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行…

代码审计-RCE命令执行漏洞审计

代码审计必备知识点&#xff1a; 1、代码审计开始前准备&#xff1a; 环境搭建使用&#xff0c;工具插件安装使用&#xff0c;掌握各种漏洞原理及利用,代码开发类知识点。 2、代码审计前信息收集&#xff1a; 审计目标的程序名&#xff0c;版本&#xff0c;当前环境(系统,中间件…

通达信上涨回调选股公式,趋势指标和摆动指标结合使用

在前面的文章中&#xff0c;介绍了赫尔均线 (HMA)和随机RSI(StochRSI)&#xff0c;这两个指标分别属于趋势指标和摆动指标。趋势指标和摆动指标是技术分析中常用的两类指标&#xff0c;用于分析市场的走势和波动&#xff0c;它们的计算方法、应用场景都是有区别的。今天利用两类…

架构实践方法

一、识别复杂度 将主要的复杂度问题列出来&#xff0c;然后根据业务、技术、团队等综合情况进行排序&#xff0c;优先解决当前面临的最主要的复杂度问题。对于按照复杂度优先级解决的方式&#xff0c;存在一个普遍的担忧&#xff1a;如果按照优先级来解决复杂度&#xff0c;可…

从安装 Seata 开始的分布式事务之旅 springboot集成seata

从安装 Seata 开始的分布式事务之旅 介绍什么是 Seata&#xff1f; 安装 Seata Server下载 Seata Server 发行版配置Seata解压文件配置Seata的yml文件把配置文件config.txt加载到nacos上修改config.txt文件加载到nacos上 启动Seata服务正常启动查看启动日志打开控制台页面 启动…

使用 PowerShell 将 Excel 中的每个工作表单独另存为独立的文件

导语&#xff1a;在日常工作中&#xff0c;我们经常需要处理 Excel 文件。本文介绍了如何使用 PowerShell 脚本将一个 Excel 文件中的每个工作表单独另存为独立的 Excel 文件&#xff0c;以提高工作效率。 1. 准备工作 在开始之前&#xff0c;请确保已经安装了 Microsoft Exc…

IMV7.0

一、背景 经历了多个版本&#xff0c;基础内容在前面&#xff0c;可以使用之前的基础环境&#xff1a; v1&#xff1a; https://blog.csdn.net/wtt234/article/details/132139454 v2&#xff1a; https://blog.csdn.net/wtt234/article/details/132144907 v3&#xff1a; https…

Vue调用硬件 接口报错

谷歌浏览器调用硬件报错 报错原因 调用身份证读卡器&#xff0c;使用谷歌浏览器 读卡器硬件的接口 有几率是被谷歌拦截 所以报错 在谷歌地址栏输入 chrome://flags/ 搜索 block 找到这个选项 切换状态之后重启浏览器即可 当时找的这篇文章 解决问题 参考链接 如果大家的问题没…

2023集成电路产业发展与产教融合高峰论坛会议顺利举行

8月5日&#xff0c;由中国半导体行业协会和市政府共同主办&#xff0c;天水师范学院、天水华天科技股份有限公司、杭州加速科技有限公司承办的2023集成电路产业发展与产教融合高峰论坛在天水举行。天水市委书记冯文戈&#xff0c;教育部学生服务与素质发展中心副主任方伟&#…

untiy 连接两个UI或一段固定一段跟随鼠标移动的线段

注意&#xff0c;仅适用于UI&#xff0c;且Canvas必须是Camera模式&#xff0c;不能用在3D物体上&#xff0c;3D物体请使用LineRenender 先创建一个图片&#xff0c;将锚点固定在左边 然后在脚本中添加如下内容 public RectTransform startObj;//起点物体public RectTransfor…

软件测试基本准侧与方法摘录

软件测试基本准侧与方法的摘录&#xff08;应用实例待补充&#xff09; 写在最开始&#xff1a;“测试是为发现错误而执行程序的过程”。————《软件测试的艺术》 &#x1f929; 本文中很多概念描述摘抄自还有很多概念没有列举。已写的部分概念缺少相应的实例&#xff0c;尚…

Java课题笔记~ Spring事务的程序举例环境搭建

举例&#xff1a;购买商品 trans_sale 项目 本例要实现购买商品&#xff0c;模拟用户下订单&#xff0c;向订单表添加销售记录&#xff0c;从商品表减少库存。 实现步骤&#xff1a; Step0&#xff1a;创建数据库表 创建两个数据库表 sale , goods sale 销售表&#xff1a;…

2021年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 下列哪个操作不能退出IDLE环境&#xff1f; A&#xff1a;AltF4 B&#xff1a;CtrlQ C&#xff1a;按ESC键 D&#xff1a;exit() 正确的答案是&#xff1a;B&#xff1a;CtrlQ 解…