spring boot 注解总结

@SpringBootApplication

@SpringBootApplication:声明让spring boot自动给程序进行必要的配置,
等价于已默认属性使用@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 。

@Configuration

@Configuration:标注在类上,相当于把该类作为spring的xml配置文件中的<beans>
作用为:配置spring容器(应用上下文)。

@Bean

@Bean:标注在方法上(返回某个实例),等价于spring的xml配置文件中的<bean>,
作用为:注册bean对象。

@EnableAutoConfiguration

@EnableAutoConfiguration:注解告诉spring boot根据添加的jar依赖,猜测你想如何配置spring,
通常会根据你的类路径和你的bean定义自动配置。

@ComponentScan

@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component、@Service,@Repository,@Controller都会自动注册成springBeans。

@Component

@Component:元注解,可用于标注其它注解,被它标注的注解起到和它相同或类似的作用。

@ConditionalOnBean、@ConditionalOnMissingBean

@ConditionalOnBean、@ConditionalOnMissingBean(保证在其它用户定义的bean后加载) 根据特定的类是否存在决定bean的包含。
可根据value、type、name、search 属性用于限制搜索beans时需考虑ApplicationContext的层次。
注:需主要bean的添加顺序,因为这些条件的计算是基于目前处理内容的。

@Primary

@Primary:注解的实例优先于其它注解实例被注入。(两个type相同的情况 spring不知先注入谁)

@RequestMapper

@RequestMapper:提供路由信息,负责URL到Controller中的具体函数的映射。

@ResponseBody

@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful(一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件)的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用

@Controller

@Controller:用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。

@RestController

@RestController:注解是@Controller和@ResponseBody的合集,告诉spring已字符串的形式渲染结果,并直接返回给调用者。(控制层组件如struts中的action)。

@ControllerAdvic

@ControllerAdvic:拦截异常并统一处理,可用于定义@ExceptionHandler、@InitBinder、@ModelAttribute
并应用到所以的@RequestMapping中。
## @ExceptionHandler
@ExceptionHandler:异常处理器,只有一个参数value,指定需要处理的异常类型。使用@ExceptionHandler注解的一个优点是,在需要返回json数据错误信息的时候特别有用。在@ExceptionHandler注解的方法上再加上@ResponseBody注解即可。

@InitBinder

@InitBinder:解决类型转换问题。

@ModelAttribute

@ModelAttribute:用于绑定请求参数到命令对象。

@Autowired

@Autowired:自动导包。

@PathVariable

@PathVariable:获取参数。

@JsonBackReference

@JsonBackReference:解决嵌套外链问题。

@RepositoryRestResourcepublic

@RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。

@Import

@Import:用来导入其它配置类。

@ImportResource

@ImportResource:用来加载xml配置文件。

@Service

@Service:一般用于修饰service层的组件。

@Value

@Value:注入Spring boot application.properties配置的属性的值。
参数可以是两种形式:
@Value("#{configProperties['t1.msgname']}"):这种形式的配置中有“configProperties”,其实它指定的是配置文件的加载对象。
@Value("${t1.msgname}"):这种形式不需要指定具体加载对象,这时候需要一个关键的对象来完成PreferencesPlaceholderConfigurer,这个对象的配置可以利用上面配置1中的配置,也可以自己直接自定配置文件路径。

猜你喜欢

转载自blog.csdn.net/qq_36567996/article/details/87610748