太厉害了!终于有人把Spring Boot常用注释讲明白了!

本文详细介绍了Spring Boot中常用的注解,包括@Conditional、@ConditionalOnResource、@SpringBootApplication、@Autowired、@Primary等,涵盖自动配置、依赖注入、请求映射等方面,旨在帮助开发者更好地理解和使用Spring Boot。
摘要由CSDN通过智能技术生成

前言

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

Java学习笔记共享地址:spring boot的核心技术100多页学习笔记

Spring Boot 被认为是 Spring MVC 的“接班人”,它可以帮我们自动配置,如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用自己的配置。另外,Spring Boot 还集成了嵌入式的 Web 服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序。

1、@Conditional

可以控制更为复杂的配置条件。在Spring内置的条件控制注解不满足应用需求的时候,可以使用此注解定义自定义的控制条件,以达到自定义的要求。

示例:

@Conditioanl(CustomConditioanl.class)
CustomProperties addCustomProperties(){
   
 //...
}/2

2、@ConditionalOnResource

用于检测当某个配置文件存在使,则触发被其标注的方法,下面是使用此注解的代码

示例:

@ConditionalOnResource(resources = "classpath:website.properties")
Properties addWebsiteProperties(){
   
 //...
}

3、@ConditionalOnClass与@ConditionalOnMissingClass

这两个注解属于类条件注解,它们根据是否存在某个类作为判断依据来决定是否要执行某些配置。

示例:

@Configuration
@ConditionalOnClass(DataSource.class)
class MySQLAutoConfiguration {
   
 //...
}

4、@SpringBootApplication

注解是一个快捷的配置注解,在被它标注的类中,可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件。此注解相当于@Configuration、@EnableAutoConfiguration和@ComponentScan的组合。

在Spring Boot应用程序的主类中,就使用了此注解。

示例:

@SpringBootApplication
public class Application{
   
 public static void main(String [] args){
   
   SpringApplication.run(Application.class,args);
 }
}

5、@Autowired

@Autowired注解用于标记Spring将要解析和注入的依赖项。此注解可以作用在构造函数、字段和setter方法上,作用于构造函数

示例:

@RestController
public class userController {
   
	private UserService userService;
	@Autowired
	UserController(userService userService){
   
		this.userService = userservice;
	}
}

6、@Primary

当系统中需要配置多个具有相同类型的bean时,@Primary可以定义这些Bean的优先级。

示例:

7、Scops注解

@Scope注解可以用来定义@Component标注的类的作用范围以及@Bean所标记的类的作用范围。@Scope所限定的作用范围有:singleton、prototype、request、session、globalSession或者其他的自定义范围。这里以prototype为例子进行讲解。

当一个Spring Bean被声明为prototype(原型模式)时,在每次需要使用到该类的时候,Spring IoC容器都会初始化一个新的改类的实例。在定义一个Bean时,可以设置Bean的scope属性为

prototype:scope=“prototype”

也可以使用@Scope注解设置

@Scope(value=ConfigurableBeanFactory.SCOPE_PROPTOTYPE)

两种不同的方式来使用@Scope注解,示例:

8、@RequestBody

在处理请求方法的参数列表中使用,它可以将请求主体中的参数绑定到一个对象中,请求主体参数是通过HttpMessageConverter传递的,根据请求主体中的参数名与对象的属性名进行匹配并绑定值。此外,还可以通过@Valid注解对请求主体中的参数进行校验。

示例:

9、@PostMapping

@PostMapping注解用于处理HTTP POST请求,并将请求映射到具体的处理方法中。@PostMapping与@GetMapping一样,也是一个组合注解,它相当于是@RequestMapping(method=Htt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值