Web开发

首页 » 常识 » 常识 » 太厉害了终于有人把SpringBoot
TUhjnbcbe - 2023/4/6 21:50:00
哈市治疗白癜风医院 https://m-mip.39.net/news/mipso_6084139.html

前言

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

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

1、

Conditional

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

示例:

Conditioanl(CustomConditioanl.class)CustomPropertiesaddCustomProperties(){//...}/2、

2、

ConditionalOnResource

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

示例:

ConditionalOnResource(resources="classpath:website.properties")PropertiesaddWebsiteProperties(){//...}

3、

ConditionalOnClass与

ConditionalOnMissingClass

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

示例:

Configuration

ConditionalOnClass(DataSource.class)classMySQLAutoConfiguration{//...}

4、

SpringBootApplication

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

Configuration、

EnableAutoConfiguration和

ComponentScan的组合。

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

示例:

SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}

5、

Autowired

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

示例:

RestControllerpublicclassuserController{  privateUserServiceuserService;  

Autowired  UserController(userServiceuserService){    this.userService=userservice;  }}

6、

Primary

当系统中需要配置多个具有相同类型的bean时,

Primary可以定义这些Bean的优先级。

示例:

7、Scops注解

Scope注解可以用来定义

Component标注的类的作用范围以及

Bean所标记的类的作用范围。

Scope所限定的作用范围有:singleton、prototype、request、session、globalSession或者其他的自定义范围。这里以prototype为例子进行讲解。

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

prototype:scope=“prototype”

也可以使用

Scope注解设置

Scope(value=ConfigurableBeanFactory.SCOPE_PROPTOTYPE)

两种不同的方式来使用

Scope注解,示例:

8、

RequestBody

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

Valid注解对请求主体中的参数进行校验。

示例:

9、

PostMapping

PostMapping注解用于处理HTTPPOST请求,并将请求映射到具体的处理方法中。

PostMapping与

GetMapping一样,也是一个组合注解,它相当于是

RequestMapping(method=HttpMethod.POST)的快捷方式。

10、

DeleteMapping

DeleteMapping注解用于处理HTTPDELETE请求,并将请求映射到删除方法中。

DeleteMapping是一个组合注解,它相当于是

RequestMapping(method=HttpMethod.DELETE)的快捷方式。

示例:

11、

ResponseBody

ResponseBody会自动将控制器中方法的返回值写入到HTTP响应中。特别的,

ResponseBody注解只能用在被

Controller注解标记的类中。如果在被

RestController标记的类中,则方法不需要使用

ResponseBody注解进行标注。

RestController相当于是

Controller和

ResponseBody的组合注解。

示例:

12、

ResponseStatus

注解可以标注请求处理方法。使用此注解,可以指定响应所需要的HTTPSTATUS。特别地,我们可以使用HttpStauts类对该注解的value属性进行赋值。

示例:

13、

RequestParam

注解用于将方法的参数与Web请求的传递的参数进行绑定。使用

RequestParam可以轻松的访问HTTP请求参数的值。

示例:

14、

Controller

Component注解的一个延伸,会自动扫描并配置被该注解标注的类。此注解用于标注SpringMVC的控制器。

示例:

15、

ModelAttribute

可以通过模型索引名称来访问已经存在于控制器中的model

示例:

PathVariable和

RequestParam注解一样,如果参数名与模型具有相同的名字,则不必指定索引名称,简写示例如下:

如果使用

ModelAttribute对方法进行标注,Spring会将方法的返回值绑定到具体的Model上

示例:

在Spring调用具体的处理方法之前,被

ModelAttribute注解标注的所有方法都将被执行。

16、

Component

注解用于标注一个普通的组件类,它没有明确的业务范围,只是通知Spring被此注解的类需要被纳入到SpringBean容器中并进行管理。

示例:

17、

Repository

Component注解的延伸,与

Component注解一样,被此注解标注的类会被Spring自动管理起来,

Repository注解用于标注DAO层的数据持久化类。

示例:

18、

DependsOn

可以配置SpringIoC容器在初始化一个Bean之前,先初始化其他的Bean对象

示例:

Springboot返回json数据

在做如下操作之前,我们对之前的Hello进行简单的修改,我们新建一个包

1
查看完整版本: 太厉害了终于有人把SpringBoot