目录
一、lombok
@Data :
注在类上,提供类的get、set、equals、hashCode、toString等方法
@AllArgsConstructor
:注在类上,提供类的全参构造
@NoArgsConstructor :
注在类上,提供类的无参构造
@Setter :
注在属性上,提供 set 方法
@Getter :
注在属性上,提供 get 方法
@EqualsAndHashCode :
注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j :
注在类上,提供对应的 Logger 对象,变量名为 log
二、Java Persistence
@Entity
说明这个class是实体类,并且使用默认的orm规则,即class名就是数据库表中表明,class字段名即表中字段名。@Entity注解指明这是一个实体Bean。
在项目启动时会根据该类自动生成一张表,表的名称即@Entity注解中name的值,如果不配置name,默认表明为类名
@Table
@Table注解默认情况下只会完成表和实体之间的映射,声明才对象映射到数据库的数据表,通过它可以为实体指定表(table)
注:
@Table注解是一个非必须的注解,@Table注解指定了Entity所要映射的数据库表,其中@Table.name()用来指定映射表的表名。
如果同时使用了@Entity(name="student")和@Table(name="book"),最终对应的表名是book,这说明优先级:@Table>@Entity
@Id
注解表示该属性是一个主键
@GeneratedValue
注解表示注解自动生成,strategy则表示主键的生成策略
@Column
默认情况下,生成的表中字段的名称就是实体类中属性的名称,通过@Column注解可以定制生成的字段属性,name表示该属性对应的数据表中字段的名称,nullable表示该字段非空
三、spring boot
@Configuration
定义 Bean:通过在配置类中使用 @Bean 注解,可以定义和组装 Bean,并将其纳入 Spring IoC 容器的管理,从而使得这些 Bean 可以在应用程序中被使用。
四、spring boot
@SpringBootApplication:
@SpringBootApplication是 :@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan 的符合注解
@SpringBootConfiguration
它实际上就是一个 @Configuration 注解,这个注解就是为了让当前类作为一个配置类交由 Spring 的 IOC 容器进行管理
@ComponentScan
用于定义 Spring 的扫描路径,等价于在 xml 文件中配置 context:component-scan,假如不配置扫描路径,那么 Spring 就会默认扫描当前类所在的包及其子包中的所有标注了 @Component,@Service,@Controller 等注解的类。
@EnableAutoConfiguration注解
1、从classpath中搜索所有META-INF/spring.factories配置文件然后,将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration key对应的配置项加载到spring容器只有spring.boot.enableautoconfiguration为true(默认为true)的时候,才启用自动配置
2、@EnableAutoConfiguration还可以进行排除,排除方式有2中,一是根据class来排除(exclude),二是根据class name(excludeName)来排除
3、它是一个由@AutoConfigurationPackage 和 @Import 注解组成的复合注解
五、spring cloud
@EnableDiscoveryClient
注册服务中心(cloud从Edgware版本开始,可以不加@EnableDiscoveryClient注解)