SpringBoot 注解

Spring Boot注解是一種元數(shù)據(jù)形式,可提供有關(guān)程序的數(shù)據(jù)。換句話說(shuō),注解用于提供有關(guān)程序的 補(bǔ)充信息。它不是我們開(kāi)發(fā)的應(yīng)用程序的一部分。它對(duì)其注解的代碼的操作沒(méi)有直接影響。不會(huì)更改已編譯程序的操作。

在本節(jié)中,我們將討論一些重要的 Spring Boot注解,我們將在本教程的后面部分使用。

Core Spring框架注解

@Required: 它適用于 bean 設(shè)置方法。它指示必須在配置時(shí)使用必需的屬性填充帶注解的Bean,否則它將引發(fā)異常 BeanInitilizationException 。

示例

public class Machine 
{
private Integer cost;
@Required
public void setCost(Integer cost) 
{
    this.cost = cost;
}
public Integer getCost() 
{
    return cost;
}   
}

@Autowired: : Spring通過(guò)提供@Autowired注解來(lái)提供基于注解的自動(dòng)裝配。它用于自動(dòng)連接setter方法,實(shí)例變量和構(gòu)造函數(shù)上的spring bean。當(dāng)我們使用@Autowired批注時(shí),spring容器通過(guò)匹配數(shù)據(jù)類型自動(dòng)連接bean。

示例

@Component
public class Customer
{
    private Person person;
    @Autowired
    public Customer(Person person) 
    { 
        this.person=person;
    }
}

@Configuration: : 它是一個(gè)類級(jí)別的注解。帶有@Configuration注解的類由Spring Containers用作bean定義的源。

示例

@Configuration
public class Vehicle
{
    @BeanVehicle engine()
    {
        return new Vehicle();
    }
}

@ComponentScan: : 當(dāng)我們要掃描軟件包中的bean時(shí)使用。它與注解@Configuration一起使用。我們還可以指定用于掃描Spring組件的基本軟件包。

示例

@ComponentScan(basePackages = "com.nhooo")
@Configuration
public class ScanComponent
{
// ...
}

@Bean: 是方法級(jí)的注解。它是XML標(biāo)記的代替方法。它告訴產(chǎn)生由Spring Container管理的bean的方法。

示例

@Bean
public BeanExample beanExample() 
{
    return new BeanExample ();
}

Spring Framework構(gòu)造型注解

@Component: 。它是一個(gè)類級(jí)別的注解。它用于將Java類標(biāo)記為Bean。在類路徑中找到了一個(gè)用 @Component 注解的Java類。 Spring框架將其拾取并在應(yīng)用程序上下文中將其配置為 Spring Bean

示例

@Component
public class Student
{
    .......
}

@Controller: @Controller是類級(jí)別的注解。它是 @Component 的專業(yè)化。它將一個(gè)類標(biāo)記為Web請(qǐng)求處理程序。它通常用于服務(wù)網(wǎng)頁(yè)。默認(rèn)情況下,它返回一個(gè)字符串,該字符串指示要重定向的路由。它通常與 @RequestMapping 注解一起使用。

示例

@Controller
@RequestMapping("books")
public class BooksController 
{
    @RequestMapping(value = "/{name}", method = RequestMethod.GET)
    public Employee getBooksByName() 
    {
        return booksTemplate;
    }
}

@Service: 也用于類級(jí)別。它告訴Spring該類包含 業(yè)務(wù)邏輯

示例

package com.nhooo;
@Service
public class TestService
{
    public void service1()
    {
        //business code
    }
}

@Repository: 這是一個(gè)類級(jí)別的注解。該存儲(chǔ)庫(kù)是直接訪問(wèn)數(shù)據(jù)庫(kù)的 DAO (數(shù)據(jù)訪問(wèn)對(duì)象)。該存儲(chǔ)庫(kù)執(zhí)行與數(shù)據(jù)庫(kù)有關(guān)的所有操作。

package com.nhooo;
@Repository 
public class TestRepository
{
    public void delete()
    {   
        //persistence code
    }
}

Spring Boot注解

@EnableAutoConfiguration: : 它自動(dòng)配置類路徑中存在的bean,并將其配置為運(yùn)行方法。在Spring Boot 1.2.0發(fā)行版中減少了使用此批注,因?yàn)殚_(kāi)發(fā)人員提供了該批注的代替方法,即 @SpringBootApplication @SpringBootApplication: : 它是三個(gè)注解 @ EnableAutoConfiguration,@ ComponentScan, @Configuration 的組合。

Spring MVC和REST注解

@RequestMapping: 用于映射網(wǎng)絡(luò)請(qǐng)求。它具有許多可選元素,例如 consumes, header, method, name, params, path, produces和value。我們將其與類以及方法一起使用。

示例

@Controller
public class BooksController 
{
    @RequestMapping("/computer-science/books")
    public String getAllBooks(Model model)
    {
        //application code
        return "bookList";
    }
}

@GetMapping: 它將 HTTP GET 請(qǐng)求映射到特定的處理程序方法。它用于創(chuàng)建提取的Web服務(wù)終結(jié)點(diǎn),而不是使用 @RequestMapping(method = RequestMethod.GET) @PostMapping 它將 HTTP POST 請(qǐng)求映射到特定的處理程序方法。它用于創(chuàng)建創(chuàng)建的Web服務(wù)終結(jié)點(diǎn),而不是使用: @RequestMapping(method = RequestMethod.POST) @PutMapping: 它將 HTTP PUT 請(qǐng)求映射到特定的處理程序方法。它用于創(chuàng)建創(chuàng)建更新的Web服務(wù)終結(jié)點(diǎn),而不是使用: @RequestMapping(method = RequestMethod.PUT) @DeleteMapping: 它將 HTTP DELETE 請(qǐng)求映射到特定的處理程序方法。它用于創(chuàng)建刪除資源的Web服務(wù)終結(jié)點(diǎn)。使用它而不是使用: @RequestMapping(method = RequestMethod.DELETE) @PatchMapping: 它將 HTTP PATCH 請(qǐng)求映射到特定的處理程序方法。使用它代替使用: @RequestMapping(method = RequestMethod.PATCH) @RequestBody: 用于將HTTP請(qǐng)求與方法參數(shù)中的對(duì)象綁定。在內(nèi)部,它使用 HTTP MessageConverters 轉(zhuǎn)換請(qǐng)求的正文。當(dāng)我們用 @RequestBody注解方法參數(shù)時(shí),Spring框架會(huì)將傳入的HTTP請(qǐng)求主體綁定到該參數(shù)。 @ResponseBody: 它將方法返回值綁定到響應(yīng)主體。它告訴Spring Boot Framework將返回的對(duì)象序列化為JSON和XML格式。 @PathVariable: 用于從URI中提取值。它最適合RESTful Web服務(wù),其中URL包含路徑變量。我們可以在一個(gè)方法中定義多個(gè)@PathVariable。 @RequestParam: 用于從URL提取查詢參數(shù)。也稱為查詢參數(shù)。它最適合Web應(yīng)用程序。如果URL中不存在查詢參數(shù),則可以指定默認(rèn)值。 @RequestHeader: 用于獲取有關(guān)HTTP請(qǐng)求標(biāo)頭的詳細(xì)信息。我們將此注解用作方法參數(shù)。注解的可選元素是名稱,必填,值,defaultValue。 對(duì)于標(biāo)題中的每個(gè)細(xì)節(jié),我們應(yīng)指定單獨(dú)的注解。我們可以在一種方法中多次使用它 @RestController: 可以將其視為 @Controller @ResponseBody 注解的組合。 @RestController注解本身使用@ResponseBody注解進(jìn)行注解。無(wú)需使用@ResponseBody注解每個(gè)方法。 @RequestAttribute: 它將方法參數(shù)綁定到請(qǐng)求屬性。它提供了從控制器方法方便地訪問(wèn)請(qǐng)求屬性的方法。借助@RequestAttribute批注,我們可以訪問(wèn)服務(wù)器端填充的對(duì)象。

注意: 我們?cè)赗ESTful Web服務(wù)教程中使用了以上所有示例和真實(shí)示例。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清