文章目录
Spring 注解
@Componect
表示带注释的类是"组件",当使用基于注释的配置和类路径扫描时,这些类被视为自动检测的候选者,相当于在配置文件中配置bean.
@Controller
表示带注释的类是"控制器"(例如Web控制器)(常在Controller层使用),此注释用作特殊化@Componect,允许通过类路径扫描自动检测实现类.它通常与基于RequestMapping注释的带注释的处理程序方法结合使用
@Service
表示带注释的类是"服务",用作与service层.
此注释用作特殊化@Component,允许通过类路径扫描自动检测实现类
@Autowired
枚举确定自动装配状态:即,bean是否应该使用setter注入由Spring容器自动注入其依赖项。@Autowired默认是按照类型装配注入的。这是Spring DI的核心概念。
可用于基于注释的配置,例如AspectJ AnnotationBeanConfigurer方面。
参数required的默认值为true,表示在默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用.
@Resource
这是jsr250规范的实现,@Resource通过 “CommonAnnotationBeanPostProcessor” 类实现依赖注入。 @Resource标记应用程序所需的资源。此注释可以应用于应用程序组件类,或应用于组件类的字段或方法。
当注释应用于字段或方法时,容器将在初始化组件时将所请求资源的实例注入应用程序组件。 如果注释应用于组件类,则应用程序会在运行时寻找资源。
即使此注释未标记为继承,也需要部署工具检查任何组件类的所有超类,以发现此注释在所有超类中的所有用法。 所有这些注释实例都指定应用程序组件所需的资源。
请注意,此注释可能出现在超类的私有字段和方法上;在这些情况下,容器也需要进行注射。
@Configuration
@Configuration是把一个类变成一个配置类,即在这个类中可以用@Bean标识方法,并且把方法返回的对象加入到spring容器中,并且返回的是同一个实例。
配置类必须以类的形式提供(不能是工厂方法返回的实例),允许通过生成子类在运行时增强(cglib 动态代理)。配置类不能是 final 类(没法动态代理)。配置注解通常为了通过 @Bean 注解生成 Spring 容器管理的类。配置类必须是非本地的(即不能在方法中声明,不能是 private)。任何嵌套配置类都必须声明为static。@Bean 方法可能不会反过来创建进一步的配置类(也就是返回的 bean 如果带有@Configuration,也不会被特殊处理,只会作为普通的 bean)
@Bean
@Bean用于注释方法,表示该方法返回的Bean会被放入spring容器中
@RequestMapping
使用灵活方法签名将Web请求映射到请求处理类中的方法的注释
@PostMapping
用于将POST类型的HTTP请求映射到特定处理方法的注释.具体来说,@PostMapping是一个作为快捷方式的组合注释@RequestMapping(method = RequestMethod.POST)
@ResponseBody
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
从版本4.0开始,此注释也可以添加到类型级别,在这种情况下,它是继承的,不需要在方法级别添加
@RequestController
组合了@Controller和@ResponseBody的注释
带有此注释的类型被视为控制器,其中@RequestMapping和@ResponseBody采用默认设置
@SpringBootApplication
pping和@ResponseBody采用默认设置
@SpringBootApplication
SpringBoot的核心注解,主要目的是开启自动配置.他也是一个组合注解,主要结合了@Configurer,@EnableAutoConfiguration(核心)和@ComponentScan.可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置