@AliasFor:
将此注解属性的值应用到另一个属性上或者另外注解的属性上
//注解内部有属性可以互相替换时
public @interface ContextConfiguration {
@AliasFor("locations")
String[] value() default {};
@AliasFor("value")
String[] locations() default {};
// ...
}
//此注解包含另外一个注解时
@ContextConfiguration
public @interface MyTestConfig {
@AliasFor(annotation = ContextConfiguration.class, attribute = "locations")
String[] value() default {};
//...
}
@Order:排序使用
相关类
org.springframework.core.Ordered :规定Order的范围
AnnotationAwareOrderComparator :排序一组有@Order的Object
OrderUtils :获取对象的@Order值
javax.annotation.Priority :与@Order可以互换
@Autowired
1.注解的字段的类型寻找该类型的实例bean,这种方式成为byType。
使用AutowiredAnnotationBeanPostProcessor来处理 依赖注入
2.@Resource默认按照名称注入,它使用的是CommonAnnotationBeanPostProcessor来处理依赖注入。
@Configurable
使用@Configurable时,注解中的autowire属性就可以让Spring来自动装配了: @Configurable(autowire=Autowire.BY_TYPE) 或者 @Configurable(autowire=Autowire.BY_NAME,这样就可以按类型或者按名字自动装配了。
BeanWiringInfoResolver解析
@Lookup
//todo
@Qualifier
@Autowired结合@Qualifier("XX")使用,让@Autowired按照byName方式装配。
eg:
@Autowired
@Qualifier("userDAO")
private UserDAO userDao;
@Required
依赖检查:必须含有注入值
@Value
用于注入SpEL表达式,可以放置在字段方法或参数上。
Cacheable
CacheConfig
CacheEvict
CachePut
Caching
EnableCaching
Bean
ComponentScan
Conditional
Configuration
DependsOn
Description
EnableAspectJAutoProxy
EnableLoadTimeWeaving
EnableMBeanExport
@Import
用在@Configuration配置类上
引入配置类或者一个Bean
@ImportResource
用在@Configuration配置类上 ,引入配置文件
@Lazy
懒加载
Primary
Profile
PropertySource
PropertySources
Role
Scope
EventListener
DateTimeFormat
NumberFormat
Async
EnableAsync
EnableScheduling
Scheduled
Schedules
Component
Controller
Repository
Service
Validated
EnableSpringConfigured
EnableTransactionManagement
Transactional
ControllerAdvice
CookieValue
CrossOrigin
ExceptionHandler
InitBinder
Mapping
MatrixVariable
ModelAttribute
PathVariable
RequestBody
RequestHeader
RequestMapping
RequestParam
RequestPart
ResponseBody
ResponseStatus
RestController
SessionAttributes
EnableWebMvc