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

学习网站开发心得2023疫情最新情况

学习网站开发心得,2023疫情最新情况,网站开发都有哪些,绵阳微网站制作网上也找到类似的文章,但是基本都不到实用级别,就是不能直接用。在参照网上的文章及与AI沟通N次后终于完善可以在实际项目上 创建jar文件动态加载类 Component Slf4j public class PluginRegistry {Autowiredprivate GenericApplicationContext applicat…

网上也找到类似的文章,但是基本都不到实用级别,就是不能直接用。在参照网上的文章及与AI沟通N次后终于完善可以在实际项目上

  1. 创建jar文件动态加载类

@Component
@Slf4j
public class PluginRegistry {@Autowiredprivate GenericApplicationContext applicationContext;@Autowiredprivate RequestMappingHandlerMapping requestMappingHandlerMapping;private final Map<String, URLClassLoader> loaders = new ConcurrentHashMap<>();public void loadPlugin(String jarPath) throws Exception {// 将 JAR 文件转换为 URLFile jarFile = new File(jarPath);if (!jarFile.exists()) {throw new IllegalArgumentException("JAR file not found: " + jarPath);}URL jarUrl = jarFile.toURI().toURL();URLClassLoader classLoader = new URLClassLoader(new URL[]{jarUrl},Thread.currentThread().getContextClassLoader());Thread.currentThread().setContextClassLoader(classLoader);ClassPathScanningCandidateComponentProvider scanner =new ClassPathScanningCandidateComponentProvider(false);scanner.addIncludeFilter(new AnnotationTypeFilter(Component.class));Set<BeanDefinition> candidateComponents =scanner.findCandidateComponents("com.snail.model"); // 替换为目标包路径// 注册扫描到的 Controller 到 Spring 容器BeanDefinitionRegistry registry = (BeanDefinitionRegistry) applicationContext.getAutowireCapableBeanFactory();for (org.springframework.beans.factory.config.BeanDefinition bd : candidateComponents) {String className = bd.getBeanClassName();Class<?> clazz = classLoader.loadClass(className);applicationContext.registerBean(clazz);}requestMappingHandlerMapping.afterPropertiesSet();log.info("加载插件成功{}",requestMappingHandlerMapping.getHandlerMethods().size());loaders.put(jarPath, classLoader);}
}

加载jar包,并扫描Commpent 注解,并注册到spring容器中,同时更新RequestMappingHandler(这样Controller就能生效了) 。 — 应该还需要实现spring boot 的SPI 等,以支持更多场景。

  1. 发布动态加载jar文件的接口
    这个简单 就是创建一个controller 来调用动态加载的方法。
  2. 准备测试jar
    随意创建一个springmvc的项目并打包成jar文件即可。
  3. 测试结果
    启动主程序,通过接口将测试的jar加载进来,在访问新加载进来的接口测试
http://www.dtcms.com/wzjs/81259.html

相关文章:

  • 网站关键词优化建议站长之家seo查询官方网站
  • 阿里云备案网站建设方案书案例绍兴seo计费管理
  • 做的精美的门户网站推荐店铺推广平台有哪些
  • 沈阳网站优化推广方案seo免费工具
  • 青海住房和城乡建设厅网站长春seo排名优化
  • 游戏推广是诈骗吗张掖seo
  • 模板网站的弊端在哪win10必做的优化
  • 网站怎样做银联支付北京seo包年
  • 深圳最专业的高端网站建设网站优化师
  • 电子商务网站建站网站收录查询网
  • 微信知彼网络网站建设江苏免费关键词排名外包
  • 我们不是做网站的推广平台网站有哪些
  • 外贸人常用网站怎么做网页设计的页面
  • 网站开发的背景知识网页设计制作网站html代码大全
  • 个人网站怎么做百度推广百度官网地址
  • 网站建设准备工作网络广告的形式有哪些?
  • dw设计做网站案例东莞seo网络推广专
  • 购物网站 wordpress 英文模板青岛关键词优化平台
  • php网站开发有前景吗企业培训考试系统
  • 企业运营过程中具有控制职能的环节是上海做seo的公司
  • 网站建设 网站优化营销型网站建设专家免费数据统计网站
  • wordpress友情链接直接留空白代码seo关键词推广公司
  • php 怎么做 网站 图片什么是交换链接
  • flashfxp与Wordpress如何点击优化神马关键词排名
  • 衡水龙华的网站建设必应搜索引擎网站
  • 全国 做网站的企业青岛网站设计
  • 手机qq钓鱼网站怎么做sem代运营推广公司
  • 机械公司网站模板今天高清视频免费播放
  • 桌面网站怎么做推广找客户平台
  • 设计师个人网站欣赏苏州网站建设开发公司