• Spring全家桶中相关注解的概述和应用


    一、Spring的核心注解 https://www.cnblogs.com/rinack/p/9950801.html

    1.@Autowired:标记Spring将要解析和注入的依赖关系,主要应用场景:构造函数,set方法或字段领域注入;

    2.@Resource:标记Spring将要解析和注入的依赖关系,和@Autowire的功能一样,只是用法略有不同,@Autowired 根据类型注入,@Resource 默认根据名字注入,其次按照类型搜索注入

    3.@Bean:方法级注解,是XML元素的直接模拟。 注解支持一些提供的属性,例如init-method,destroy-method,auto-wiring和name,可以在 @Configuration注解或 @Component注解类中使用 @Bean批注;

    4.@Value:注解用于为变量和方法参数指定默认值。我们可以使用@Value 注解来读取Spring环境变量以及系统变量 。Spring @Value 注解也支持SpEL;

    5.@Qualifier:有助于微调基于注解的自动布线。 可能存在这样的情况:我们创建多个相同类型的bean,并且只想使用属性连接其中一个bean,这可以使用@Qualifier注解以及@Autowired注解来控制;

    6.@Profile:如果我们希望Spring仅在特定配置文件处于活动状态时使用 @Component类或 @Bean方法,我们可以使用 @Profile标记它。 我们可以使用注解的value参数配置配置文件的名称;

    7.@Import:注解指示一个或多个 @Configuration类进口,允许从另一个配置类加载 @Bean定义。

    二、Spring Boot的核心注解(https://www.cnblogs.com/jiyukai/p/9278993.html ,https://www.jianshu.com/p/f526c15a0250

     1.@SpringBootApplication注解是Spring Boot的核心注解,查看其源码可知道它是一个组合注解,主要是:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan;

     2.@SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解,与@Configuration作用相同,标识这是一个被装载的Bean,在Spring Boot项目中推荐使用@ SpringBootConfiguration替代@Configuration;

     3.@EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC;

    4.@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录,excludeFilters:指定不适合组件扫描的类型。

    三、Spring Cloud的常用注解

    1.@EnableEurekaServer,@EnableConfigServer,@EnableHystrixDashboard,@EnableZuulProxy,@EnableFeignClients;

    2.@EnableDiscoveryClient和@EnableEurekaClient  

    共同点就是:都是能够让注册中心能够发现,扫描到该服务。

    不同点:@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心;

    3.@EnableHystrix表示启动断路器,断路器依赖于服务注册和发现;

    4.@FeignClient注解中的fallbank属性指定回调类;

    5.@Controller 控制层,里面有多个连接;

    6.@Service 业务层,一般对于接口和实现;

    7.@RequestMapping (value=’’,method={RequestMethod。GET或者POSt})绑定url,@PostMapping @GetMapping;

    8.@ResponseBody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用,通常是在使用 @RequestMapping 后,返回值通常解析为跳转路径,加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

    9.@RequestParam 可以加也可以不加,可以指定参数是否必传,参数名以及参数默认值;

    10.@RequestBody可以将body里面所有的json数据传到后端,后端再进行解析,body 里面的 json 语句的 key 值要与后端实体类的属性一一对应。注意:前端使用$.ajax的话,一定要指定 contentType: "application/json;charset=utf-8;"。

  • 相关阅读:
    Web--2019年5月7日移动端随笔
    Web-css3--19年5月5日随笔
    数据库指令----4月10日
    19--3--14--数据处理
    微信小程序全选,微信小程序checkbox,微信小程序购物车
    手机预览微信小程序
    原生H5页面模拟APP左侧滑动删除效果
    微信小程序实例:实现tabs选项卡效果
    CSS3文本溢出显示省略号
    前端自动化之路之gulp,node.js
  • 原文地址:https://www.cnblogs.com/wdzhz/p/13370920.html
Copyright © 2020-2023  润新知