转载 https://blog.csdn.net/qq924862077/article/details/53762279
在AbstractUrlHandlerMapping的子类BeanNameUrlHandlerMapping中的实现如下:
BeanNameUrlHandlerMapping主要个作用就是将beanName及其别名作为url。
public class BeanNameUrlHandlerMapping extends AbstractDetectingUrlHandlerMapping {
/**
* Checks name and aliases of the given bean for URLs, starting with "/".
*/
@Override
protected String[] determineUrlsForHandler(String beanName) {
List<String> urls = new ArrayList<String>();
if (beanName.startsWith("/")) {
urls.add(beanName);
}
//注入的bean name为请求链接
String[] aliases = getApplicationContext().getAliases(beanName);
for (String alias : aliases) {
if (alias.startsWith("/")) {
urls.add(alias);
}
}
return StringUtils.toStringArray(urls);
}
}