zoukankan      html  css  js  c++  java
  • spring和springboot注解

    springboot注解

    • @RestController 在源码声明上同时有 @Controller 和 @ResponseBody 注解,所以使用了这个注解的类会被看作一个Controller,所以 @RestController 与 @Controller 的区别就是,@Controller返回的是ViewAndModel,@RestController返回的是字符串直接发送回给客户端。
    • @RestController 源码声明:
    @Target(value=TYPE)  
     @Retention(value=RUNTIME)  
     @Documented  
     @Controller  
     @ResponseBody  
    public @interface RestController
    • @EnableAutoConfiguration 注解是类级别的,这个注解告诉Spring Boot“猜测”将如何配置Spring,它是基于添加的jar依赖。

    Bean扫描机制-概览

    <beans ...> 
     <context:component-scan base-package="a.b" name-generator="a.SimpleNameGenerator"/> 
     </beans> 
    • 先配置扫描地址,当一个 Bean 被自动检测到时,会根据那个扫描器的 BeanNameGenerator 策略生成它的 bean 名称。
    • 默认情况下,对于包含 name 属性的 @Component、@Repository、 @Service 和 @Controller,会把 name 取值作为 Bean 的名字。
    • 如果这个注解不包含 name 值或是其他被自定义过滤器发现的组件,默认 Bean 名称会是小写开头的非限定类名。
    • 如果你不想使用默认 bean 命名策略,可以提供一个自定义的命名策略。首先实现 BeanNameGenerator 接口,确认包含了一个默认的无参数构造方法。然后在配置扫描器时提供一个全限定类名,如上代码。
    • 通过上述注解标识的 Bean,其默认作用域是"singleton"。

    Bean扫描机制-详解

    • Spring中,管理注解Bean定义的容器有两个:AnnotationConfigApplicationContext和 AnnotationConfigWebApplicationContex。
    • 这两个类是专门处理Spring注解方式配置的容器,直接依赖于注解作为容器配置信息来源的IoC容器。

    javax.persistence下的注解

    • @Entity 说明此java类是实体类 ,与数据库表一一对应
    • @Id 表明主键

    Lombok

    • @Data
    • @Getter

    Hibernate

    • @DynamicUpdate 表示在更新时只会操作有改变的值,不会所有属性的值都再写一边。

    jackson

    • @JsonProperty ,指定返回JSON数据时的一个名称


     
  • 相关阅读:
    redis持久化RDB和AOF
    线程同步的几种方法
    JRE和JDK的区别
    Spring-两种配置容器
    为什么String类是不可变的?
    Oracle 每五千条执行一次的sql语句
    Executor , ExecutorService 和 Executors
    常见框架单例、多例与线程安全性总结
    mysql 的S 锁和X锁的区别
    linux下使用shell脚本自动化部署项目
  • 原文地址:https://www.cnblogs.com/dingpeng9055/p/12673906.html
Copyright © 2011-2022 走看看