SpringBoot常用注解

后端 / 2020-08-08

SpringBoot常用注解

MVC

M:model 数据持久层

V:view 页面表现层

C:controller 视图控制层

Class Annotation

@RestController

作用:用于返回JSON XML 等数据,但是不能返回HTML数据.

等同于@ResponseBody@Controller 结合使用

示例代码

@RestController
public class HelloWorldController{
    @RequestMapping("/hello")
    public String hello(){
        return "hello,SpringBoot!";
    }
}

@Controller

作用:用于标注控制器 MVC 开发模式中代表C(控制器)

示例代码

@Controller
public class HelloWorldMVCController(){
    @RequestMapping("/helloworld")
    @ResponseBody
    public String helloWorld() throws Exception{
        return "Hello,Spring Boot!";
    }
}

@Service

作用:用于声明一个业务处理类,用于标注服务层,处理业务逻辑。

示例代码

@Service
public class ArticleServiceImpl implements ArticleService{
    @Autowired
    private ArticleRepository articleRepository;
    
    
    @Override
    public Article findArticleById(long id){
        return articleRepository.findById(id);
    }
}

@Repository

作用:用于标注数据访问层

@Component

作用: 用于将普通POJO实例化到Spring容器中,

@Configuration

作用:用于标注配置类,由Spring容器自动处理,作为Bean的载体,用来指示一个类的声明。

@Autowired

作用:用来实现依赖注入(byType)

@Resource

作用: 和 @Autowired 同样来实现依赖注入(byName)

@RequestMapping

作用:用来处理请求地址映射

如果作用在类上,则表示所有请求方法都是以该地址为父路径的。

@Transactional

作用:用于声明事务

事务:在出现异常的情况下,保证数据的一致性;数据提交操作回滚至异常发生前的状态

@Qualifier

作用:为bean指定名称,随后在通过名字引用bean

通常和@Autowired 一起使用

Method Annotation

@RequestBody

作用:用来处理 JSON XML 格式的数据,通过@RequestBody 可以将请求体中的(JSON/XML)绑定到对应的 Bean 上,也可以分别绑定到别的对应字符串上。

@PathVariable

作用:用于获取路径中的参数

@Bean

作用:代表产生一个Bean ,并交给Spring 管理,用于封装数据,MVC中对应的是M

@ResponseBody

作用:通过转换器将控制器方法中方法返回的对象转化为指定格式然后吸入Response对象Body区。常用来返回数据.

Others

@EnableAutoConfiguration

作用:提供自动配置

@SpringBoootApplication

作用:用来启动入口类

@EnableAsync

作用:开启异步注解功能

@ComponentScan

作用:用来扫描组件,和自动装配Bean

@Aspec

作用:用来标注切面

@ControllerAdvice

作用: 包含@component可以被扫描到,统一处理异常。

@ExceptionHandler

作用:用在方法上,表示遇到异常则执行这个方法。

@Value

作用:用于获取配置文件中的值。