springboot常用注解有哪些?作用是什么?

TheDisguiser 2020-07-08 17:26:04 java常见问答 5695

Springboot相信没有多少小伙伴是不知道的,这是目前Java必学框架之一,小伙伴们知道springboot常用的注解有哪些吗?这次就来看看吧。

一、@RestController

注解在类上,表示这是一个控制层bean。常用于控制层类的前面,是@ResponseBody和@Controller的合集 。

@ResponseBody:用该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般用于构建RESTful的api,将java对象转为json格式的数据。

@Controller:用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)。

二、@RequestMapping

提供路由信息,负责URL到Controller中的具体函数的映射。

三、@SpringBootApplication

该注解用在运行类之上,相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。

@EnableAutoConfiguration:Spring Boot自动配置(auto-configuration)。

@ComponentScan:表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。

@Configuration:相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类 ——可以使用@ImportResource注解加载xml配置文件。

四、@Import

用来导入其他配置类。

五、@Autowired

自动导入依赖的bean。

六、@Service

注解在类上,表示这是一个业务层bean。

七、@Repository

注解在类上,表示这是一个数据访问层bean。使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan。

八、@Query

自定义SQL查询语句

九、@Entity

用在实体类的前面,表示这是一个实体类。

十、@Table(name=“”)

用在实体类的前面,一般和@Entity一起使用,表示该实体类映射数据库中的某张表。

十一、@Column

表示实体类的某个属性映射为表中的某个字段,包含的设置如下:name:数据库表字段名;unique:是否唯一 ;nullable:是否可以为空 ;Length:长度。

十二、@Id

该注释用在实体类中,写在哪个属性的前面,表示该属性映射到数据库中的字段为主键。

十三、@GeneratedValue

表示主键的生成策略,和@Id一起使用

十四、@Transient

表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性。如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient。

以上就是关于常用springboot注解的全部内容了,小伙伴们知道了吗?还想了解一些java面试常见问题的话,就持续关注我们奇Q工具网吧。

推荐阅读:

springboot整合定时器该怎么实现?有哪些方式?

springboot session创建、销毁、超时、监听详解

springboot部署方式有哪些?要如何部署?