Spring-*全家桶之注解大全

1.Spring

1. @Configuration

用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。

2. @Id:

---- 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 @Id标注也可置于属性的getter方法之前。

@GeneratedValue:

----用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。
在javax.persistence.GenerationType中定义了以下几种可供选择的策略:
–IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式;
–AUTO: JPA自动选择合适的策略,是默认选项;
–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式
–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。
在执行SpringData的save方法时,可能会报‘ could not read a hi value和表不存在的错’将数据库实体类的注解@GeneratedValue改成@GeneratedValue(strategy = GenerationType.IDENTITY)就好了。

  1. spring data jpa 默认命名策略是ImprovedNamingStrategy ,即用下划线转换驼峰名,容易造成mysql找不到字段
    spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

3.@RequestMapping

将多个请求映射到一个方法上

@RequestMapping(value = { "", "/page", "page*", "view/*,**/msg" })
指定特定请求类型:@RequestMapping(method = RequestMethod.GET)
(RESTapi=@PutMapping,Post-,Get-,Delete-,Patch-)

@RequestParam

Spring 全家桶包括 Spring Framework、Spring Boot、Spring Cloud 等,以下是一些常用的注解: 1. Spring Framework - @Autowired:用于自动装配 Spring Bean。 - @Value:用于将配置文件中的属性值注入到 Spring Bean 中。 - @Component:用于标注 Spring Bean。 - @Service:用于标注业务逻辑层的 Spring Bean。 - @Repository:用于标注数据访问层的 Spring Bean。 - @Configuration:用于标注 Spring 配置类。 - @Bean:用于在 Spring 容器中声明 Bean。 - @Scope:用于设置 Bean 的作用域。 - @Qualifier:用于指定 Bean 的名称。 - @PostConstruct:用于标注 Bean 初始化方法。 - @PreDestroy:用于标注 Bean 销毁方法。 - @Transactional:用于标注事务管理的方法。 2. Spring Boot - @SpringBootApplication:这是一个组合注解,包括 @Configuration、@EnableAutoConfiguration 和 @ComponentScan,用于标注 Spring Boot 应用的主类。 - @RestController:用于标注 RESTful 架构的控制器类,同时也包括 @Controller 和 @ResponseBody 注解的功能。 - @RequestMapping:用于映射 HTTP 请求 URL 到相应的控制器方法上。 - @GetMapping:用于映射 HTTP GET 请求 URL 到相应的控制器方法上。 - @PostMapping:用于映射 HTTP POST 请求 URL 到相应的控制器方法上。 - @PutMapping:用于映射 HTTP PUT 请求 URL 到相应的控制器方法上。 - @DeleteMapping:用于映射 HTTP DELETE 请求 URL 到相应的控制器方法上。 - @RequestParam:用于将 HTTP 请求中的参数绑定到控制器方法的参数上。 - @PathVariable:用于将 URL 中的变量绑定到控制器方法的参数上。 - @RequestBody:用于将 HTTP 请求体中的数据绑定到控制器方法的参数上。 - @ResponseBody:用于将控制器方法返回的数据直接写入 HTTP 响应体中。 - @EnableAutoConfiguration:用于自动配置 Spring Boot 应用。 - @ConditionalOnProperty:用于根据配置文件中的属性值来决定是否启用某个配置项。 - @EnableCaching:用于启用 Spring Cache。 - @EnableScheduling:用于启用定时任务。 3. Spring Cloud - @EnableDiscoveryClient:用于启用服务注册与发现。 - @EnableFeignClients:用于启用 Feign。 - @EnableZuulProxy:用于启用 Zuul。 - @EnableConfigServer:用于启用配置中心。 - @EnableEurekaServer:用于启用 Eureka 服务端。 - @EnableHystrix:用于启用 Hystrix。 - @HystrixCommand:用于标注 Hystrix 断路器的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值