Spring/Spring常用注解及解释汇总----转载

一、开发常用

@Component:是一个泛化的概念,标注让spring容器来识别和管理组件 ,可以作用在任何层次。
@Bean:类似于XML中的,标注一个类,去交给spring容器管理。

@Constroller:通常作用在控制层,但是目前该功能与 @Component 相同。
@RestController:包含@Controller和@ResponseBody功能,方法可以直接返回数据而不是返回页面跳转。
@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,常用于返回json数据。
@RequestMapping:映射请求路径

@Service:通常标注在业务类上,交给spring容器管理。
@Autowired:依赖自动注入 (存在多个可注入Bean时,通过 @Qualifier 指定)
@Resource:与@Autowired作用相同

@Repository:只能标注在 DAO 类上。该注解的作用不只是将类识别为 Bean,同时它还能将所标注的类中
出的数据访问异常封装为 Spring 的数据访问异常类型。
@Scope:指定 Bean 的作用范围

@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;还有各种自动配置的启动注解@EnableXXXX即可开启,比如开启自动配置。@EnableAutoConfiguration,@EnableAsync开启异步等等
@ComponentScan:组件扫描。个人理解相当于context:component-scan,如果扫描到有@Component
@Controller@Service等这些注解的类,则把这些类注册为bean。
@Configuration:指出该类是 Bean 配置的信息源,相当于XML中的,一般加在主类上。
@EnableAutoConfiguration:让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,一般加在主类上。

二、JPA注解

@Entity:@Table(name=”“):表明这是一个实体类。一般用于jpa这两个注解一般一块使用,但是如果表名和实体类名相同的话,@Table可以省略

@MappedSuperClass:用在确定是父类的entity上。父类的属性子类可以继承。
@NoRepositoryBean:一般用作父类的repository,有这个注解,spring不会去实例化该repository。

@Column:如果字段名与列名相同,则可以省略。
@Id:表示该属性为主键。
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = “repair_seq”):表示主键生成策略是sequence(可以为Auto、IDENTITY、native等,Auto表示可在多个数据库间切换)
@SequenceGeneretor(name = “repair_seq”, sequenceName = “seq_repair”, allocationSize = 1):name为sequence的名称,以便使用,sequenceName为数据库的sequence名称,两个名称可以一致。
@Transient:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性。如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic。@Basic(fetch=FetchType.LAZY):标记可以指定实体属性的加载方式
@JsonIgnore:作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响。
@JoinColumn(name=”loginId”):一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
@OneToOne、@OneToMany、@ManyToOne:对应hibernate配置文件中的一对一,一对多,多对一。

三、springMVC相关注解

@RequestMapping("/path"):表示该控制器处理所有“/path”的UR L请求。RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
@RequestParam:用在方法的参数前面,自动获取请求参数里的值。
@PathVariable:路径变量,放在URL中的变量,如localhost:8080/getPerson?id=1234。该注解可以获取变量参数名为id的值

四、异常

@ControllerAdvice:包含@Component。可以被扫描到。统一处理异常。
@ExceptionHandler(Exception.class):用在方法上面表示遇到这个异常就执行以下方法。

后续继续更新中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值