Jednym ze sposobów, aby dowiedzieć się czegoś takiego, jest spojrzenie na siebie. Jest to przykład na zaćmienie, ale powinno działać podobnie do innych IDE:
Przede wszystkim upewnij się, że masz źródła bibliotek wiosennych, których używasz. Jest to najłatwiejsze, jeśli używasz maven, using the maven-eclipse-plugin lub używasz m2eclipse.
Następnie, w Eclipse wybierz Navigate -> Open Type...
. Wpisz typ, którego szukasz (coś w stylu RequestMa*
powinno zrobić dla leniwych typerów, takich jak ja). Wprowadź/OK. Teraz kliknij prawym przyciskiem myszy nazwę klasy w pliku źródłowym i wybierz opcję References -> Project
. W widoku wyszukiwania pojawią się wszystkie zastosowania tej klasy lub adnotacji.
Jednym z nich jest DefaultAnnotationHandlerMapping.determineUrlsForHandlerMethods(Class, boolean), gdzie ten fragment kodu będzie powiedzieć, że język nie jest oceniany wyrażenie:
ReflectionUtils.doWithMethods(currentHandlerType, new ReflectionUtils.MethodCallback() {
public void doWith(Method method) {
RequestMapping mapping = AnnotationUtils.findAnnotation(
method, RequestMapping.class);
if (mapping != null) {
String[] mappedPatterns = mapping.value();
if (mappedPatterns.length > 0) {
for (String mappedPattern : mappedPatterns) {
// this is where Expression Language would be parsed
// but it isn't, as you can see
if (!hasTypeLevelMapping && !mappedPattern.startsWith("/")) {
mappedPattern = "/" + mappedPattern;
}
addUrlsForPath(urls, mappedPattern);
}
}
else if (hasTypeLevelMapping) {
urls.add(null);
}
}
}
}, ReflectionUtils.USER_DECLARED_METHODS);
Pamiętaj, że nazywa się Open Source. Nie ma sensu używać oprogramowania Open Source, jeśli nie próbujesz zrozumieć, z czego korzystasz.
wyjaśnienie wyrażenie Spel działa dobrze z @value adnotacji o ustawienie wartości „RESOURCE_FOLDER”, ale to nie będzie działać w @ RequestMapping adnotacja – chrismarx