Spring Boot提供了大量的注解來(lái)簡(jiǎn)化Spring應(yīng)用的開(kāi)發(fā)。下面我們將詳細(xì)介紹一些最常用的Spring Boot注解。
一、核心注解
1. @SpringBootApplication
這是一個(gè)復(fù)合注解,用于標(biāo)記應(yīng)用的主類(lèi)。它包含了以下三個(gè)注解:
-
@SpringBootConfiguration
:等同于Spring的@Configuration,標(biāo)明該類(lèi)是配置類(lèi),并會(huì)把該類(lèi)作為spring容器的源。 -
@EnableAutoConfiguration
:?jiǎn)?dòng)自動(dòng)配置,讓Spring Boot根據(jù)類(lèi)路徑和定義的bean自動(dòng)配置應(yīng)用。 -
@ComponentScan
:讓Spring去掃描當(dāng)前包及其子包下的類(lèi),并注冊(cè)bean。
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2. @Configuration
用于定義配置類(lèi),可替代XML配置文件。被注解的類(lèi)內(nèi)部包含有一個(gè)或多個(gè)被@Bean
注解的方法,這些方法將會(huì)被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext類(lèi)進(jìn)行掃描,并用于構(gòu)建bean定義,初始化Spring容器。
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
二、Web開(kāi)發(fā)相關(guān)注解
1. @RestController
這是一個(gè)復(fù)合注解,等同于@Controller
和@ResponseBody
的組合,表明這個(gè)類(lèi)是一個(gè)全RESTful的控制器,不返回視圖,只返回?cái)?shù)據(jù)。
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
2. @RequestMapping
用于映射web請(qǐng)求,它有很多選項(xiàng),包括指定HTTP方法、URL、請(qǐng)求參數(shù)、頭部信息等。同時(shí)也有一些簡(jiǎn)化版的注解,如@GetMapping
, @PostMapping
, @PutMapping
, @DeleteMapping
。
@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<User> getUsers() {
// ...
}
3. @PathVariable
用于將請(qǐng)求URL中的模板變量映射到控制器處理方法的參數(shù)上。
@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
// ...
}
三、依賴(lài)注入相關(guān)注解
1. @Autowired
用于自動(dòng)裝配bean,可以用在構(gòu)造器、屬性、setter方法上。
@Autowired
private MyService myService;
2. @Bean
用于聲明一個(gè)bean,它會(huì)被Spring容器所管理。
@Bean
public MyService myService() {
return new MyServiceImpl();
}
3. @Component, @Service, @Repository, @Controller
這些注解用于定義bean,可以自動(dòng)被Spring掃描和管理。其中,@Component
是通用注解,其他三個(gè)注解是具有特定語(yǔ)義的注解:
- `
@Service`:用于標(biāo)注業(yè)務(wù)層組件;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-456360.html
-
@Controller
:用于標(biāo)注控制層組件(如Spring MVC的控制器); -
@Repository
:用于標(biāo)注數(shù)據(jù)訪問(wèn)組件,即DAO組件。
這只是Spring Boot中眾多注解中的一部分,還有很多其他有用的注解,如@EnableConfigurationProperties
, @Profile
, @PropertySource
等,你可以根據(jù)自己的需求進(jìn)行學(xué)習(xí)和使用。希望這篇文章對(duì)你理解Spring Boot中的注解有所幫助。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-456360.html
到了這里,關(guān)于Spring Boot 注解解讀詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!