idea在前后端分离版若依框架后端新建一个moudle中,controller控制器里路径无法被访问到

idea在前后端分离版若依框架后端新建一个module中,controller控制器里路径无法被访问到,这问题绝大多数可能就是在新增模块时配置弄错了,可按以下步骤查漏补缺

1.右键点击项目,选择新建Module,选择New Module
在这里插入图片描述

这时的Maven架构在这里插入图片描述

2.在父pom.xml添加依赖

3.ruoyi-admin的pom.xml文件添加依赖
在这里插入图片描述
4.新建的ruoyi-test的pom.xml文件加入
在这里插入图片描述
5.在测试访问是报错401,可以在ruo-framework模块下的config->SeurityConfig.java文件设置在这里插入图片描述
6.测试成功
在这里插入图片描述

可以使用Java反射机制来实现将module的所有service方法封装到一个方法。具体步骤如下: 1. 使用Java反射机制获取module的所有Class对象。 2. 遍历所有Class对象,使用反射机制获取每个Class对象的所有方法。 3. 遍历每个方法,判断是否为service方法,如果是则将其封装到一个新的方法。 4. 将所有封装好的方法保存到一个List,最后返回该List。 下面是示例代码: ```java public List<Method> getAllServiceMethods(String moduleName) throws ClassNotFoundException { List<Method> serviceMethods = new ArrayList<>(); ClassLoader classLoader = getClass().getClassLoader(); Module module = classLoader.getModule(moduleName); Set<String> classNames = module.getPackages().stream() .flatMap(p -> p.getModule().getClassLoader().findAllClassNames(p.getName())) .collect(Collectors.toSet()); for (String className : classNames) { Class<?> clazz = module.getClassLoader().loadClass(className); Method[] methods = clazz.getDeclaredMethods(); for (Method method : methods) { if (method.isAnnotationPresent(Service.class)) { serviceMethods.add(method); } } } return serviceMethods; } ``` 在上面的代码,我们使用了getClassLoader()方法获取当前类的ClassLoader,然后使用getModule()方法获取指定moduleName的模块,接着使用findAllClassNames()方法获取模块的所有类名。然后遍历每个类,获取其的所有方法,并判断是否为service方法,如果是则加入到serviceMethods列表。最后返回serviceMethods列表。 需要注意的是,代码使用了isAnnotationPresent()方法来判断方法是否被@Service注解修饰。如果使用其他注解来修饰service方法,需要将代码的@Service改为相应的注解名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值