SpringBoot和Spring中的注解

注解(annotations)列表

  1. @SpringBootApplication :包含了@ComponentScan、@Configuration、@EnableAutoConfiguration注解。其中的@ComponentScan可以让Springboot扫描到Configuration类并把它加入到程序的上下文SpringBoot和Spring中的注解_第1张图片

  2. @Configuration:等同于Spring的xml配置文件,添加该注解代表是一个配置类,加了该注解的类的内容包含一个或者多个被@Bean注解的方法。实现类可以实现WebMvcConfigurer接口即可重写注册拦截器等方法

  3. @ComponentScan:组件扫描,可以自动发现和装配一些Bean

  4. @Component:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。等价于 作用等同于 Controller Service Repository 。这四个注解的作用是一样的,后边的三个名字不同主要是因为为了区分不同的层

  5. @Bean注解标注在方法上,返回某个实例的方法,等价于Spring的xml配置文件 ,作用为:注册bean对象。

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

  7. @Import:用来导入其他配置类。

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

  9. @Autowired:自动导入依赖的bean。byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。

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

  11. @Repository:使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

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

  13. @ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。 在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用。在这里插入图片描述

  14. @Qualifier:当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用。@Qualifier限定描述符除了能根据名字进行注入,但能进行更细粒度的控制如何选择候选者。在这里插入图片描述

  15. @Resource(name=”name”,type=”type”):没有括号内内容的话,默认byName。与@Autowired干类似的事。

注解详解

springMVC相关注解
@RequestMapping:@RequestMapping(“/path”)表示该控制器处理所有“/path”的UR L请求。RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。该注解有六个属性:
params:指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
value:指定请求的实际地址,指定的地址可以是URI Template 模式
method:指定请求的method类型, GET、POST、PUT、DELETE等
consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
@RequestParam:用在方法的参数前面。
@RequestParam
String a =request.getParameter(“a”)。
@PathVariable:路径变量。如
@Bean
(1)@Bean注解在返回实例的方法上,如果未通过@Bean指定bean的名称,则默认与标注的方法名相同;
(2)@Bean注解默认作用域为单例singleton作用域,可通过@Scope(“prototype”)设置为原型作用域;
(3)既然@Bean的作用是注册bean对象,那么完全可以使用@Component、@Controller、@Service、@Ripository等注解注册bean,当然需要配置@ComponentScan注解进行自动扫描。
SpringBoot和Spring中的注解_第3张图片
SpringBoot和Spring中的注解_第4张图片
SpringBoot和Spring中的注解_第5张图片

使用@Configuration注解来代替Spring的bean配置SpringBoot和Spring中的注解_第6张图片

你可能感兴趣的:(Spring,代理模式,java,spring)