文介紹您需要了解的幾個(gè)基本的Spring Boot應(yīng)用程序注釋,都附有詳細(xì)的解釋,希望能幫助您更好的理解。
1 @SpringBootApplication
我們?cè)趹?yīng)用程序的主類中使用此注釋用來啟用Spring Boot的自動(dòng)配置和組件掃描等功能。
SpringBootApplication注釋的作用是與以下注釋相結(jié)合:
-
@EnableAutoConfiguration - 啟用Spring Boot的自動(dòng)配置功能。 -
@ComponentScan - 啟用組件掃描。 -
@Configuration - 啟用基于JAVA的配置。
示例:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void mAIn(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
2 @Component
我們?cè)陬惣?jí)別使用此注釋,用@Component注釋的類將被掃描為Spring管理的bean,我們不需要編寫顯式代碼來掃描創(chuàng)建的自定義bean。
Spring還提供了3個(gè)特定的構(gòu)造型注釋,用于將類作為組件 - Service、Controller和Repository(在后面的部分中討論)
示例:
import org.springframework.stereotype.Component;
@Component
public class HelloWorld {
//邏輯
}
3 @Service
這是將類注釋為服務(wù)層,這意味著該類將保存應(yīng)用程序的業(yè)務(wù)邏輯,沒有其他用途。
@Service
public class HelloWorld {
//業(yè)務(wù)邏輯
}
4 @Repository
它與處理應(yīng)用程序的DAO(Data Access Object) 層的類一起使用,或者與處理數(shù)據(jù)庫CRUD操作的repository類一起使用。
@Repository
public class HelloWorld {
//數(shù)據(jù)庫CRUD操作
}
5 @Controller
使用@Controller注釋的類將處理所有用戶請(qǐng)求并返回適當(dāng)?shù)捻憫?yīng)。此注釋用于Restful Web服務(wù)以處理請(qǐng)求和響應(yīng)。
6 @RequestMapping
此注釋與@Controller注釋一起使用,將HTTP請(qǐng)求映射到適當(dāng)?shù)奶幚沓绦蚍椒ā_@可以在類級(jí)別或方法級(jí)別使用。
@Controller和@RequestMapping的示例:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/hello")
public class HelloWorld {
//HTTP 方法
}
7 @Autowired
Autowired自動(dòng)注入Spring管理的組件依賴項(xiàng),簡(jiǎn)單來說,它為您初始化對(duì)象。
@Controller
@RequestMapping("/hello")
public class HelloWorld {
@Autowired
HelloService helloService;
//HTTP 方法
}
8 @Qualifier
當(dāng)Spring找到具有相同類型的多個(gè)bean時(shí),處理依賴項(xiàng)注入時(shí)可能存在歧義,使用@Qualifier注釋,我們可以指定要注入的bean的名稱。
@Controller
@RequestMapping("/hello")
public class HelloWorld {
@Autowired
@Qualifier("helloServiceBean")
HelloService helloService;
//HTTP 方法
}
9 @Bean
這是方法級(jí)別的注釋,用于在Spring上下文中管理返回的bean。它通常在配置類中使用。
10 @Configuration
使用@Configuration注釋的類表示該類將用于聲明多個(gè)方法以返回Spring beans。
@Configuration和@Bean注解的示例:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HelloWorld {
@Bean
public HelloClass collegeBean()
{
return new HelloClass();
}
}
這段是Spring框架中@Configuration和@Bean注解的示例。@Configuration注解用于將一個(gè)類標(biāo)記為配置類,在應(yīng)用程序中進(jìn)行自動(dòng)掃描和管理。@Bean注解用于將一個(gè)方法標(biāo)記為生產(chǎn)bean的方法,這些 bean可以在應(yīng)用程序中被自動(dòng)掃描和管理。在此示例中,這兩個(gè)注解被一起使用,將HelloWorld類標(biāo)記為配置類,并將collegeBean()方法標(biāo)記為生產(chǎn)bean的方法,以便在應(yīng)用程序中進(jìn)行自動(dòng)掃描和管理。