消息服务器 ws 高并发,HServer-JAVA: 基于Netty做的一个WebServer,同时集成MVC等相关快速开发功能的高并发服务器,做一些简单的应用分分钟搞定,同时性能报表...

2023-11-19

以下注解基本模拟Spring的功能

@Bean

将Bean对象加入IOC容器中比如

//按默名字加入IOC容器

@Bean

class TestService{}

//指定名字加入容器,装配的时候就只能通过名字装配了

@Bean("testService")

class Test{}

@Autowired

自动装配注解

//按类型注入

@Autowired

private TestService testService;

//按Bean名字注入

@Autowired("testServer1")

private TestService testService;

@Controller

控制器注解,将控制器加入IOC容器中,类似Spring mvc

注解在类上面直接加上即可比如

//Index控制器

@Controller

class IndexController{}

@GET,@POST,@RequestMapping

方法注解,在@Controller注解类类中使用,标注一个方法为GET或者POST方法,例如

@GET("/index")

public void index(){}

@POST("/index")

public void index(){}

//url规则匹配

@GET("/url1/{url}")

public String url(HttpRequest httpRequest){

String url = httpRequest.query("url");

System.out.println(url);

return url;

}

@GET("/url/{url}")

public String url(String url){

return "匹配到的URL:"+url;

}

@POST("/a/{url}/bb")

public String ab(String url){

return "匹配到的URL:"+url;

}

//2.9.4+以上支持

@RequestMapping(value = "/PUT", method = RequestMethod.PUT)

public JsonResult PUT() {

return JsonResult.ok();

}

//2.9.4+以上支持

@RequestMapping(value = "/get_post", method = {RequestMethod.POST,RequestMethod.GET})

public JsonResult get_post() {

return JsonResult.ok();

}

//2.9.4+以上支持

//全类型

@RequestMapping(value = "/all")

public JsonResult all() {

return JsonResult.ok();

}

@Filter

拦截器注解,标注一个类为拦截器,和JavaEE的Filter类似

@Filter(1)//1表示拦截优先级,越小越优先

public class MyFilter1 implements FilterAdapter {}

//需要实现FilterAdapter接口

@Hook

hook注解就是Aop

@Hook(value = Test.class, method = "show")

public class HookTest implements HookAdapter {}

//value表示aop的类,method要hook的方法,必须实现HookAdapter

@Task

定时任务

@Task(name = "测试定时任务Cron", time ="*/5 * * * * ?")

//标记在方法上,同时该类需要被@Bean 标记

@Task(name = "测试定时任务1", time ="2000")

public void timerTask() {}

@WebSocket

实现websocket通信

@WebSocket("/ws")

public class WebSocketTest implements WebSocketHandler {}

//这样就可以完成基本的通信了

@Configuration

自定配置注解,需要配合@Bean注解一起使用,最后会把方法里面的返回的对象

存储到IOC容器中,同时可以通过Autowired注解注入

@Configuration

public class DataConfig {

//自定义名字(用例:比如多数据源注入)

@Bean("createUser")

public User createUser(){

User user = new User();

user.setAge(999);

user.setName("我是配置类自定义名字的数据");

user.setSex("未知");

return user;

}

//按类型存储

@Bean

public User createUser1(){

User user = new User();

user.setAge(999);

user.setName("我是配置类的默认数据");

user.setSex("未知");

return user;

}

}

@RpcService

标注一个Bean对象是一个rpc服务,也可以分配一个名字

@Bean

@RpcService

public class RpcServiceTest {

public String test(String name){

return name+"我是RPC";

}

}

@Resource

注入一个Rpc服务,也可以通过名字注入。详情,请看文档介绍

@Resource

private RpcServiceTest rpcServiceTest;

@Sign("MD5")

@RequiresRoles("角色")

@RequiresPermissions(value = {"/权限1","/权限2"}, logical=Logical.OR)

该注解用于标注控制器里面的方法,方便自己实现sign签名算法,

角色检查,权限检查,实现token等,详情下面的对应接口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

消息服务器 ws 高并发,HServer-JAVA: 基于Netty做的一个WebServer,同时集成MVC等相关快速开发功能的高并发服务器,做一些简单的应用分分钟搞定,同时性能报表... 的相关文章

  • 我的和unity3d的小故事1——恶魔射手之鼠标控制移动之input.getaxis("Horizontal")与input.getaxis("Vertical")

    跟着恶魔射手视频学习的过程中遇到的第一个问题是怎么也移动不了 那么问题来了 打印出来是获得的下面两个值都是0 怎么办呢 改edit下面的projectsetting里面的input属性下面两个值的type都改成mouse movement
  • es head 复合查询_【ES进阶】深入理解Elasticsearch检索评分score执行计划及逆向文档词频idf...

    在前面的课程中 通过搭建ELK相关的中间件 以及配置动态mapping结构用于存储我们需要检索的文档信息 我们通过输入关键词进行分词检索然后ES默认通过评分的形式将数据排序好展示给我们 当文档评分越高 那么搜索的结果越靠前 如下图所示 我们
  • 原型和原型链

    好久没记了有点忘记了 来记录一下 1 函数和对象的关系 对象都是通过函数创建的 函数也是一个对象 2 原型和原型链 1 原型 原型分为两种 prototype 每一个函数都会有prototype属性 它指向函数的原型对象 被称为显式原型 p
  • unity3d之 C# WaitFOrSeconds()

    学习unity3d不久 在使用WaitFOrSeconds 时 遇到了不少麻烦 故记录 以警示后人 首先介绍C 和javascript 在使用它有很大的区别 javascript可以直接使用 yield WaitFOrSeconds 5 即
  • 腾讯云 API 网关产品发布

    欢迎大家前往腾讯云社区 获取更多腾讯海量技术实践干货哦 腾讯云已在近期上线了 API 网关产品 协助开发者通过简单方式即可完成 API 配置管理 发布版本 访问控制等功能 并可进一步对接腾讯云云市场中的 API 市场 参与到 API 经济的
  • 用栈来判断括号匹配问题

    用栈实现 输入一行符号 以 结束 判断其中的括号是否匹配 括号包括 lt gt 如果匹配 输出 right 如果不匹配 给出错误提示 包括 1 对称符号都匹配 输出 right 2 处理到某个符号时不匹配了 输出 The character
  • 美拍应该如何引流?如何利用美拍引流?美拍引流方法

    现如今 抖音 美拍等短视频APP逐渐地在改变人们的生活习惯 很多人在闲暇时都会刷刷短视频 这对于做营销的我们而言 人越多的地方机会就越大 所以肯定是不会放过这个巨大的流量池 那么 我们应该如何利用这些美拍吸粉引流呢 第一步 注册养号 下载了
  • markdown表情大全

    markdown表情 该文是搜集的网络资源整理 为了写博客需要用到一些有趣的表情 特此记录 将对应emoji表情的符号码复制后输入你的markdown文本即可显示emoji表情 如 blush 显示为 人物 syntax preview s
  • 全国大学生数学建模竞赛——大赛介绍与赛后总结

    全国大学生数学建模竞赛 训练过程及赛后总结 前言 今天是2018年9月18日 一个特殊的日子 距离全国大学生数学建模大赛已经过去两天了 三天两夜的比赛 每天晚上几乎做到凌晨 确实很辛苦 但是现在回过头来看看 无论成绩如何 一切的辛苦与努力都
  • ADS2020.2安装

    双击安装包中的 exe文件 开始安装 安装结束后 直接点击退出 然后将crack文件夹中的两个文件夹 分别复制到刚刚的安装路径下 分别替换12个和2个同名文件 注意 这两个文件夹的名字要和刚刚安装的文件夹的名字一致 就是将Crack文件夹中
  • C++头文件

    作为一个二手的 net程序员 你看到了C 头文件一定就犯迷糊了 这到底是个啥玩意 再我纠结了24个小时 google20次 度娘10下 看过10来骗文章以后 我可能稍微开窍了 我对C 头文件总结 与 net比较如下 一 C 头文件究竟是什么
  • onvif协议服务器,Onvif第四课 服务器端发现实现

    场景 需要开发一个服务器发现模块 等待客户端的探测报文 在Linux服务器下组播地址imr interface可以不绑定 mcast imr multiaddr s addr inet addr 239 255 255 250 mcast
  • Python实现企业微信群告警

    Python实现企业微信告警 1 创建企业微信群机器人 1 1 什么是企业微信群机器人 企业微信群机器人是企业微信平台提供的一种功能 可以通过Webhook方式将消息发送到指定的企业微信群中 它可以用于自动化发送通知 告警等信息 实现监控和
  • 证据理论(1)—— DS证据理论基本理论

    证据理论 证据理论 Theory of Evidence 是由 Dempster 首先提出 由Shafer进一步发展起来的一种不精确推理理论 也称为 Dempster Shafer DS 证据理论 证据理论可以在没有先验概率的情况下 灵活并
  • 基于Matlab分析的电力系统可视化研究

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及数据 1 概述 电力系统可视化研究是电力系统分析中一项具
  • IKE协议与实现

    一 IKE的作用 当应用环境的规模较小时 可以用手工配置SA 当应用环境规模较大 参与的节点位置不固定时 IKE可自动地为参与通信的实体协商SA 并对安全关联库 SAD 维护 保障通信安全 二 IKE的机制 IKE属于一种混合型协议 由In
  • php curl ajax get请求,PHP的curl的get,post请求-Fun言

    GET请求如下 param string url return mixed public function doGet url 初始化 ch curl init curl setopt ch CURLOPT URL url 执行后不直接打印
  • 面试题:从用户在浏览器输入域名,到浏览器显示出页面,这中间发生了什么(工作过程)?

    这是一道很基础的题 但是也容易被忽视 主要是要进行域名解析 1 在浏览器中输入地址 如 www baidu com 2 向DNS服务器查询网站IP地址 3 DNS服务器返回网站IP地址 如 119 75 217 56 4 浏览器得到IP地址
  • 使用pipeline加速Redis

    面试官 怎么快速删除10万个key 某厂面试题 prod环境 如何快速删除10万个key 带着思考 我们一来研究Redis pipeline why pipeline Redis客户端与server的请求 响应模型 前面的文章 Redis底

随机推荐

  • C#开发WinForm之DataGridView开发

    C 开发WinForm之DataGridView开发 原文 https blog csdn net achenyuan article details 84632751 文章目录 C 开发WinForm之DataGridView开发 基本的
  • 在Linux中使用selenium(环境部署)

    在Linux中使用selenium 环境部署 1 安装chrome 用下面的命令安装Google Chrome yum install https dl google com linux direct google chrome stabl
  • 【单片机笔记】K型热电偶单运放放大,单片机ADC采集电路

    以下内容来自百科 K型热电偶作为一种温度传感器 K型热电偶通常和显示仪表 记录仪表和电子调节器配套使用 K型热电偶可以直接测量各种生产中从0 到1300 范围的液体蒸汽和气体介质以及固体的表面温度 高清K型热电偶图片 K型热电偶是目前用量最
  • 【RuoYi-Vue-Plus】学习笔记 09 - 数据权限调用流程分析(参照 Mybatis Plus 数据权限插件)

    文章目录 前言 参考目录 代码分析 1 数据权限配置 MybatisPlusConfig 2 数据权限拦截器 PlusDataPermissionInterceptor 3 数据权限处理器 PlusDataPermissionHandler
  • 20-Docker-常用命令详解-docker attach

    常用命令详解 docker attach 前言 docker attach 语法格式 options 说明 使用示例 进入容器 和docker exec 的区别 前言 本篇来学习docker attach命令 docker attach 作
  • 解决 -bash: ifconfig: command not found 实测有效

    1 查看是否已经联网 输入ip addr 或 ip a 发现ens33 中不包含IP内容 2 修改配置步骤 1 输入 cd etc sysconfig network scripts 回车 找到ifcfg ens33 注意 cd后面有空格
  • 坐标系和投影 知识的内容介绍

    回想一下 接触遥感专业也有几个年头了 而现在越来越偏离遥感了 突然想着把自己脑中的遥感知识整理出来 首先想到的便是坐标系和投影 我想这个东西困扰着80 以上的测绘 遥感和GIS领域的从业人员吧 群里经常有人问 我自己曾经也很迷糊 什么大地坐
  • Java测试题_1

    单选题 1 class Base Base System out print Base public class Alpha extends Base public static void main String args new Alph
  • JavaScript 获取 input 输入框内容的方法

    在 JavaScript 中获取 input 输入框内容的方法有以下几种 使用 document getElementById 方法获取输入框元素 再通过 value 属性获取输入框内容 示例代码如下 var input document
  • 吴恩达老师深度学习视频课笔记:逻辑回归公式推导及C++实现

    逻辑回归 Logistic Regression 是一个二分分类算法 逻辑回归的目标是最小化其预测与训练数据之间的误差 为了训练逻辑回归模型中的参数w和b 需要定义一个成本函数 cost function 成本函数 cost functio
  • Golang匿名结构体的使用

    一 结构体基础 结构体 struct 将多个不同类型的字段集中组成一种复合类型 按声明时的字段顺序初始化 type user struct name string age byte user user Tom 2 定义匿名结构体时没有 ty
  • 编程TRICK

    一 20200729 1 image和annots的数据类型要统一 如image annots设为np float32 在具体函数中 输入和输出的数据类型要保持一致 中间具体应用再改变数据类型 2 仿射变换可以用PIL的transform
  • Flowable入门系列文章113 - 进程实例 02

    1 激活或暂停流程实例 PUT运行时 process instances processInstanceId 表1 激活或暂停流程实例 URL参数 参数 需要 值 描述 processInstanceId 是 串 激活 挂起的流程实例的ID
  • 4.bio、request和request_queue

    通常一个bio对应上层传递给块层的I O请求 每个bio结构体实例及其包含的bvec iter bio vec结构体实例描述了该I O请求的开始扇区 数据方向 读还是写 数据放入的页 其定义如代码清单13 3所示 struct bvec i
  • Redis 分布式锁实现

    原文地址 http blog csdn net zhu tianwei article details 44927331 Redis是一个key value存储系统 和Memcached类似 但是解决了断电后数据完全丢失的情况 而且她支持更
  • 英文版线性代数笔记1

    是一个给自己期中复习做的笔记 第二课 关于矩阵 mxn的矩阵 是m行n列 先行后列 如A2 1 就是3 单位矩阵 关于向量 向量 有序有限的一列数字 定义 了解列向量 横向量 零向量 向量可以是一组解 关于单位向量 只有一个1 其他都是0
  • VC文件扩展名一览表

    VC文件扩展名一览表 2003 12 7 23 05 34 阅读589次 APS 存放二进制资源的中间文件 VC把当前资源文件转换成二进制格式 并存放在APS文件中 以加快资源装载速度 BMP 位图资源文件 BSC 浏览信息文件 由浏览信息
  • 西门子S7通信

    1 总体结构 1 1 西门子通信场景 在讨论更多的技术细节之前 首先我想简单介绍一下西门子通信场景的基本情况 当我谈到 S7协议 时 我指的是以太网S7通信 主要用于将PLC连接到 I PC站 PG PC PLC通信 不要将此与西门子设备使
  • okhttp源码分析

    Okhttp介绍 由square公司贡献的一个处理网络请求的开源项目 是目前Android使用最广泛的网络框架 从Android4 4开始HttpURLConnection的底层实现采用的是okhttp 项目地址 https github
  • 消息服务器 ws 高并发,HServer-JAVA: 基于Netty做的一个WebServer,同时集成MVC等相关快速开发功能的高并发服务器,做一些简单的应用分分钟搞定,同时性能报表...

    以下注解基本模拟Spring的功能 Bean 将Bean对象加入IOC容器中比如 按默名字加入IOC容器 Bean class TestService 指定名字加入容器 装配的时候就只能通过名字装配了 Bean testService cl