• Springboot注解


    @SpringBootApplication

    这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。

    实际上这个注解是@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。

    @Configuration

            代表是一个配置类

    @ComponentScan

            指定包扫描

    @EnableAutoConfiguration

            该注解是由下面两个组合

            @AutoConfigurationPackage

                    自动配置包,利用Registrar.class给容器中导入一系列组件(获取当前类所在的包,然后加载包里面所有的组件)

            @Import(AutoConfigurationImportSelector.class)

                    加载127个自动配置类(这些配置类会按需配置,只有满足条件才生效,生效的配置类会给容器装配许多组件)

    @Controller

    @Controller表示在tomcat启动的时候,把这个类作为一个控制器加载到Spring的Bean工厂,并且对其实例化(new)。如果不加,就是一个普通的类,和Spring没有半毛钱关系。

    @RestController(结合GetMapper,PostMapper,PutMapper....使用)

    RestController = Controller + ResponseBody

    Controller 返回的是页面

    RestController 返回的是输出结果,如json,是提供前端获取数据,提交数据

    @RequestMapping

    RequestMapping就是一个映射路径。

    (如果在同一个Controller里面设置两个相同的RequestMapping,编译可以通过但是tomcat启动后会报错,系统无法进行映射)

    根据它们处理的request的不同内容可以分为四类(常用的类型)。
    第一类:处理request body部分的注解有:@RequestParam和@RequestBody
    第二类:处理requet uri部分的注解有:@PathVaribale
    第三类:处理request header部分的注解有:@RequestHeader和@CookieValue
    第四类:处理attribute类型的注解有:@SessionAttributes和@MoelAttribute

    @ResponseBody的作用

    在Controller里面,@ResponseBody就是说明这个方法返回的东西会通过IO流的方式写入到浏览器

    @Service,@Component

    bean注册

    @Autowired,@Resource ,@Autowired+@Qualifier

    获取bean

    @Resource = @Autowired+@Qualifier

    如果接口实现只有一个,直接用,不需要指定名字

    如果有多个,建议用@Resource(name = "”) 并指定name(推荐)

    也可以用@Autowired+@Qualifier("value") 并指定value值

    @Values

    从配置文件中取参数

    @Configuration + @Bean   -->SpringBoot启动会自动注册组件,默认单实例

    给类标准@configuration 标注这是一个配置类 (相当于配置文件)

    给方法名@Bean  将该方法标注为组件,id为方法名,返回值就是容器中的实例

    (@configuration(proxyBeanMethods = ture)默认  代理对象,使组件单实例

    当多次调用配置类中的组件(bean),获取的组件都是相等的

    Full(当参数为true)   每次调用返回容器中的组件,启动时会去检测容器是否存在组件 (全模式)

    Lite(当参数为false)  每次调用都会返回新的组件, 启动时不会去检测容器中是否存在组件(轻量级模式)

    @ConfigurationProperties

    在实体类中标注 @ConfigurationProperties(prefix="mycat ")

     使配置文件和属性一一绑定

    配置文件

    mycat.brand = 比亚迪

    mycat.price = 100000

    实体类

    private String brand;

    private String price;

    不过还 需要加@component,把类设置为容器中的组件

    因为只有是容器中的组件才能使用该springBoot注解

    @Import

    给类标注@Import(User.class);

    容器自动创建该类型组件,默认名称是全类名(com.**.user)

    @ImportResource

    在任意一个类上标注  @ImportResource("xxxx.xml")   导入Spring配置文件

    @Conditional 

    @ConditionalOnBean                  但存在某个Bean时干什么

    @ConditionalOnMissingBean      但不存在某个Bean时干什么

    @ConditionalOnProperty             存在某个配置的时候生效

     ....

    @ConditionalOnBean(name="  "  或  type="  "  或  value="   ")  可以写类名或类型


     

  • 相关阅读:
    基于PyQt5GUI的人脸识别系统设计与实现
    中国发表第一篇计算机顶会的人都怎么样了?中国ACL、AAAI、CVPR第一人是谁
    DocuWare文档管理系统保护客户数据,改进审计流程
    java图形验证码到底是怎么生成的?
    springboot+mybatis-plus-join+mysql实现连表查询
    【云原生 | Kubernetes 系列】--Gitops持续交付 Tekton Pipeline使用进阶(pvc和Results)
    [golang]在Gin框架中使用JWT鉴权
    【二叉树的存储及遍历】
    技术干货 | MindSpore AI科学计算系列(五):AI框架加速海洋数值模拟
    Grid 布局
  • 原文地址:https://blog.csdn.net/weixin_45729272/article/details/127892768