org.springframework.security.oauth2.provider.endpoint.FrameworkEndpoint
package org.springframework.security.oauth2.provider.endpoint;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.stereotype.Component;
/**
* <p>Synonym for @Controller but only used for endpoints provided by the framework (so it never clashes with user's
* own endpoints defined with @Controller). Use with @RequestMapping and all the other @Controller features
* (and match with a {@link FrameworkEndpointHandlerMapping} in the servlet context).</p>
*
* <p>
* Users of the Spring Security OAuth2 XSD namespace need not use this feature explicitly as the relevant handlers will
* be registered by the parsers.
* </p>
*
* @author Dave Syer
*
*/
@Component
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface FrameworkEndpoint {
}
@Controller的同义词,但仅用于框架提供的端点(因此它永远不会与用@Controller定义的用户自己的端点冲突)。与@RequestMapping和所有其他@Controller功能一起使用(and match with a FrameworkEndpointHandlerMapping in the servlet context)
org.springframework.web.bind.annotation.SessionAttributes
package org.springframework.web.bind.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface SessionAttributes {
@AliasFor("names")
String[] value() default {};
@AliasFor("value")
String[] names() default {};
Class<?>[] types() default {};
}
@SessionAttributes用于在会话中存储Model的属性,一般作用在类的级别。@SessionAttribute是用于获取已经存储的session数据,并且作用在方法的层面上。