当前位置: 首页 > news >正文

网络推广就是做网站吗上海网站推广排名

网络推广就是做网站吗,上海网站推广排名,提升学历咨询,四大商业网站背景 : 需求 需要获取某个包下的所有的注解 并不是全部项目的 所以 只用针对某个包 进行扫描 获取注解 数据就行 百度了一圈 spring boot 没有自带的 获取注解集合的方法 在看 php 中 hyperf 框架 看到了 这个方法 就是因为 我需求是 php 和java 合体 微服务开发 …

背景 : 需求 需要获取某个包下的所有的注解 并不是全部项目的
所以 只用针对某个包 进行扫描 获取注解 数据就行

百度了一圈 spring boot 没有自带的 获取注解集合的方法

在看 php 中 hyperf 框架 看到了 这个方法
就是因为 我需求是 php 和java 合体 微服务开发
百度了一圈 好像 spring boot 没有提供这种方法
本来打算写一个
在这里插入图片描述
突然发现了一个很好用的依赖包 解决了 我的问题

<dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.10.2</version></dependency>

这个reflections 包 主要作用是

这个依赖是用于 Java 项目中的反射操作的。org.reflections 是一个 Java 库,允许你在运行时查找和使用类、方法、字段等。它提供了一种简单的方式来扫描你的项目或者外部库中的类和注解,从而帮助你进行一些动态的操作,比如查找特定的类、方法或者注解,或者执行特定的操作。

详细用法 自行百度
我的需求 做法 代码如下

package com.init.utils;import com.api.exception.KuaiJingRuntimeException;import org.reflections.Reflections;
import org.reflections.scanners.MethodAnnotationsScanner;
import org.reflections.util.ClasspathHelper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;import org.reflections.util.ConfigurationBuilder;
import org.springframework.web.bind.annotation.RequestMapping;import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;/*** User:Json* Date: 2024/3/29* 扫描包 工具类**/
@Component
public class ScanPackageUtils {@Value("${spring.application.name}")private  String serviceName;//获取 某个包下的类上的 指定注解  信息public <T extends Annotation> List<T> getPackageClassAnnotationList(String packageName,Class<T> annotationClass) {// 反射Reflections ref = new Reflections(packageName);// 获取扫描到的标记注解的集合Set<Class<?>> set = ref.getTypesAnnotatedWith((Class<? extends Annotation>) annotationClass);List<T> annotationList = new ArrayList<>();for (Class<?> c : set) {// 循环获取标记的注解T annotation = (T) c.getAnnotation(annotationClass);annotationList.add(annotation);}return annotationList;}//获取 某个包下所有类下的 方法上的 指定注解  信息public <T extends Annotation> List<T> getPackageMethodAnnotationList(String packageName,Class<T> annotationClass) {Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage(packageName)).setScanners(new MethodAnnotationsScanner()));Set<Method> methods = reflections.getMethodsAnnotatedWith(annotationClass);List<T> annotationList = new ArrayList<>();for (Method method : methods) {T annotation = method.getAnnotation(annotationClass);if (annotation != null) {annotationList.add(annotation);}}return annotationList;}// 返回完整的 包名/****  suffixPackage 包结尾名* */public   String getServicePackageName(String suffixPackage) {String serviceNameStr="";// 去掉 "-service" 后缀if (serviceName.endsWith("-service")) {serviceNameStr = serviceName.substring(0, serviceName.lastIndexOf("-service"));}if(StringUtils.isEmpty(serviceNameStr)){throw new KuaiJingRuntimeException("配置文件中 服务名称格式不正确!");}return "com.xxx."+serviceNameStr+"."+suffixPackage;}
}

嘎嘎好用!!!

http://www.yayakq.cn/news/796025/

相关文章:

  • 政务门户网站建设规范比价 wordpress 插件下载
  • 网站外链是什么意思.htaccess wordpress cdn
  • 合肥做网站公司哪家好一键发布多个自媒体平台
  • 网站内容优化的重要性网站做端口是什么
  • 靓号网站开发网站开发框架 简单
  • 建设旅游网站的目的和意义中国纪检监察报总编
  • 积玉桥网站建设网站正在建设中html5
  • 鄂州手机网站建设合肥做网站是什么
  • 阿升网站免费学设计2020ppt模板免费下载
  • 阿里企业网站建设评估商丘市网站建设推广
  • 网站备案信息加到哪里站长推荐产品
  • 免费做调查的网站网站流量好难做
  • 新网站建设的工作电子商务网站和普通网站的区别
  • 广州白云学校网站建设上海建筑工程招投标网
  • 浙江省建设厅信息中心网站自己做的网站提示不安全吗
  • 深圳网站营销公司简介网站建设丶金手指下拉13
  • 网站建设加盟模式网络推广软文范文
  • 杭州网站建设优化推广微信小程序官方教程
  • 做模版的网站wordpress文章导入在哪里
  • 仓山区城乡建设局网站怎么把自己笔记本做服务器做个网站
  • 怎么在自己的网站上推广业务北京网站的建立的
  • 网站建设 微盘下载wordpress设置分类
  • wordpress自动存储图片seo搜狗
  • 网站关键词整体方案关键词seo排名优化如何
  • 优化志愿网站怎么做网站教程简单
  • html免费网站模板下载我要素材网网页设计素材
  • 学网站建设要多长时间太原建设局网站
  • 接网站建设外包的工作免费咨询怀孕医生
  • 西安网站建设动力无限家居网站建设哪家好
  • 赣州企业网站建设企业品牌网站营销