1.BeanNameUrlHandlerMapping继承图
2.概述
BeanNameUrlHandlerMapping主要是刷选出容器所有id或别名以/开头的bean,将对应的路由和bean保存在AbstractUrlHandlerMapping的urlMap里
3.BeanNameUrlHandlerMapping整个代码用工具翻译后的
https://blog.csdn.net/qq_39482039/article/details/119220769
4.具体初始化流程
其他博客会说明
5.覆盖了AbstractDetectingUrlHandlerMapping的determineUrlsForHandler抽象方法,来获取到/开头的bean名称
/**
* 检查给定bean的名称和别名的URL,以“ /”开头。
*/
@Override
protected String[] determineUrlsForHandler(String beanName) {
List<String> urls = new ArrayList<>();
//如果bean的名称以/开头添加到urls中
if (beanName.startsWith("/")) {
urls.add(beanName);
}
//获取bean的别名
String[] aliases = obtainApplicationContext().getAliases(beanName);
for (String alias : aliases) {
//如果别名以/开头添加到urls中
if (alias.startsWith("/")) {
urls.add(alias);
}
}
return StringUtils.toStringArray(urls);
}