springboot注解相关知识(学习笔记)

平时在开发的时候,会突然脑子短路,想不起所需要用的注解,或者注解该怎么用,这时候去百度搜索,得到的结果又很乱。最近刚好也在学习SpringBoot这门技术。所以就像浅浅的把所学习的知识记录一下,方便自己进行回顾。


一、基础部分的注解

1.1 定义基础Bean

以下注解作用一样,只是为了便于区分Bean的作用,即标记不同类的功能

@Controller

@Controller 是Spring MVC注解,表示此类用于处理Web请求,是一个MVC类,通常用于controller层,经常与@RequestMapping一起使用。

@Service

@Service 声明此类是一个业务处理类,通常用于service层,经常与@Transaction一起配合使用。

@Repository

@Repository 声明此类是一个数据层或者其他NoSQL访问的Bean,通常用于dao层。

@Component

@Component 声明此类是一个Spring管理的类,通常用于无法用上述注解描述的Spring管理类。

1.2 定义配置类Bean

使用java类替代spring的核心配置文件

@Configuration

@Configuration 声明此类是一个配置类,经常与注解@ComponentScan(此注解只能添加一次,多个数据用数组格式,例如:@ComponentScan( {“AAA.B” , “CCC.D”} ) 声明有多个数据)配合使用。

在这里插入图片描述

@Import(xxx.class)

@Import(xxx.class)用于导入其他配置类,方便我们在@Configuration注解的类上能看到导入了哪些配置。在这里插入图片描述

1.3 管理基础Bean

@Scope

@Scope用于定义Bean的作用域,是单例的还是多例的。其值有:singleton(默认,单例),prototype(多例)。

@PostConstruct

@PostConstruct 用于定义Bean的初始化方法,在Bean构造方法之后调用。

@PreDestroy

@PreDestroy 用于定义Bean的销毁方法,在Bean销毁之前调用。

在这里插入图片描述

1.4 依赖注入注解

@Autowried

@Autowried 是根据类型来引用Bean的,使用起来更加简单,但是如果有多个同类型的Bean,就会发生冲突,此时需要将多个同类型的Bean定义唯一名字才能实现自动装配。采用暴力反射来注入数据,即对应属性没有setter方法依然可以填入值(打破了封装性)。
在这里插入图片描述

@Quallifier(“exampleBean”)

@Quallifier(“Bean的名称”)根据名字进行引用Bean,需搭配@Autowried使用。实现Bean的自动装配。在这里插入图片描述

@Value(“exampleValue”)

@Value用于给基本数据类型做自动装配使用,无需强制搭配@Autowried使用。可以引用properties文件中的数据,例如@Value( " $ { XXX } " ),前提是需要在配置类中使用注解@PropertySource(“AAA.properties”)指定配置文件的路径。
在这里插入图片描述
在这里插入图片描述

1.5 读取配置文件

@PropertySource(“AAA.properties”)

@PropertySource用于定义配置类的配置文件在哪获取,多个文件源采用{“AA.B”,“CC.D”}形式,不支持通配符*.xxx形式。
在这里插入图片描述

1.6 第三方Bean管理

@Bean

@Bean用于定义第三方Bean为Spring管理的Bean对象。在这里插入图片描述

1.7 请求类型注解

@RequestMapping

@RequestMapping 是Spring MVC注解,表示如果请求路径匹配,被注解的方法被调用。
在这里插入图片描述

@ResponseBody

@ResponseBody 表示此方法返回的是文本而不是视图名称。

1.8 杂项补充(热启动)

SpringBoot 提供了spring-boot-devtools,他能修改类或者配置文件的时候自动加载SpringBoot应用,需要打开pom文件,添加以下依赖:

<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-devtools</artifactId>
		<optional>true</optional>
	</dependency>

@RestController

@RestController 是RESTFul风格对应的注解,表示此类用于处理Web请求(REST风格)。可以理解为@RestController相当于@Controller和@ResponseBody的结合。
对RESTFul不了解的话,可以看我的另一篇博客,里面粗略的简述了什么是REST风格,让你能快速上手开发。链接: REST风格

在这里插入图片描述

1.9 AOP注解

@Aspect

@Aspect 声明了这是一个切面类。

@Around

@Around 声明了一个表达式,描述要织入的目标的特性。

@within

@within 表示目标类型带有注解,其注解类型参数为 org.springframework.stereotype.Controller,这意味着Spring Controller方法在被调用的时候,都会执行@Around注解的方法。

1.10 MVC文件目录介绍

controller: 此包下包含了MVC的Controller,如UserController。

service: 此包下有业务处理代码,如UserService。

entity: 此包下包含了业务实体,如User类。

conf: 此包下包含了一些配置类,比如用于配置数据源的DataSourceConfig。

二、总结

这篇博客主要是用于自己学习回顾用的,有不足或出错的地方,还请希望大佬们可以在评论区进行指出。暂时学到的就这么多啦,之后如果有接触到新的东西,会及时添加进来的。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玻璃瓶和纸飞机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值