spring遍历url

1.编写属性类

@Component
public class AllUrlProperties implements InitializingBean, ApplicationContextAware {

    private ApplicationContext applicationContext;

    @Getter
    @Setter
    private List<String> urls = new LinkedList<>();

    @Override
    public void afterPropertiesSet() throws Exception {
        RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
        Map<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods();

        map.keySet().forEach(info -> {
            HandlerMethod handlerMethod = map.get(info);

            Optional.ofNullable(handlerMethod).ifPresent(method -> {
                info.getPatternsCondition().getPatterns().forEach(url -> {
                    urls.add(url);
                });
            });
        });
    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
    }
}

2.调用

    @RequestMapping("/aaa")
    public String getValue() {
        Map<String, AllUrlProperties> beansOfType = applicationContext.getBeansOfType(AllUrlProperties.class);
        Optional.ofNullable(beansOfType).ifPresent(x -> {
            beansOfType.keySet().forEach(key -> {
                beansOfType.get(key).getUrls().forEach(url -> {
                    System.out.println(url);
                });
            });
        });
        return name;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容