成都營銷型網(wǎng)站建設及推廣那家好成都網(wǎng)站優(yōu)化公司
一、核心注解
-
@SpringBootApplication
- 作用:標注一個主程序類,表明這是一個Spring Boot應用程序的入口。
- 說明:這是一個復合注解,組合了@Configuration、@EnableAutoConfiguration和@ComponentScan。
-
@EnableAutoConfiguration
- 作用:Spring Boot會根據(jù)添加的jar依賴自動配置項目。
- 用法:只需在啟動類或配置類上添加該注解即可(注意:@SpringBootApplication注解已經(jīng)組合了這個注解,所以在啟動類上可以不使用)。
-
@ComponentScan
- 作用:自動掃描并加載符合條件的組件或者Bean,定義掃描的路徑。
- 用法:通常與@SpringBootApplication一起使用,無需單獨添加。
- 說明:主要是用來掃描Bean,如果啟動未加載到Bean,可以通過這個注解指定Bean掃描加載路徑(注意:這個注解也已經(jīng)整合在@SpringBootApplication注解中,所以可以不用在主類中添加這個注解)。
-
@Configuration
- 作用:標識一個類作為配置類,類似于Spring XML配置文件。
- 用法:直接在類上添加這個注解,一般都是配合@Bean注解使用。
- 說明:表明這個類是一個Java配置類。
二、Web注解
-
@Controller
- 作用:表示這個類是一個控制器,用于接收來自客戶端的請求并處理它們。
-
@RestController
- 作用:結(jié)合了@Controller和@ResponseBody兩個注解的功能,用于標記一個類或者方法,表示該類或方法用于處理HTTP請求,并將響應的結(jié)果直接返回給客戶端,而不需要進行視圖渲染。
- 用法:一般直接放在控制器類上,也就是控制層,配合@RequestMapping使用。
三、依賴注入注解
-
@Autowired
- 作用:用于自動裝配Bean,即將需要的Bean對象注入到目標Bean中,省去了手動配置的步驟。
- 用法:可以用于字段、構(gòu)造方法、Setter方法上,實現(xiàn)不同的自動裝配方式。
- 說明:可以減少編碼工作量,提高代碼的可維護性和靈活性,使得Bean之間的依賴關系更加清晰。
四、數(shù)據(jù)訪問注解
-
@Repository
- 作用:將一個類標識為數(shù)據(jù)訪問層(DAO)的組件,用于對數(shù)據(jù)庫進行CRUD操作,封裝數(shù)據(jù)訪問邏輯。
- 說明:被標識為@Repository的類通常包含與數(shù)據(jù)庫交互的方法,如數(shù)據(jù)的增刪改查等。
五、事務注解
-
@Transactional
- 作用:用來聲明一個方法或類中所有公共方法的事務邊界。
- 說明:使用@Transactional可以極大簡化事務管理的復雜性,確保數(shù)據(jù)的一致性和完整性。
六、日志注解
-
@Slf4j
- 作用:在SpringBoot項目中,@Slf4j是Lombok提供的一個日志注解,用于簡化日志聲明。
- 用法:引入Lombok依賴后,在類上添加@Slf4j,即可自動創(chuàng)建一個Logger實例,無需手動創(chuàng)建LoggerFactory.getLogger()。
七、AOP相關注解
-
@Aspect
- 作用:把當前類標識為一個切面供容器讀取。
-
@Pointcut
- 作用:定義切入點,即帶有通知的連接點,在程序中主要體現(xiàn)為書寫切入點表達式。
-
@Before
- 作用:標識一個前置增強方法,相當于BeforeAdvice的功能。
-
@AfterReturning
- 作用:后置增強,相當于AfterReturningAdvice,方法退出時執(zhí)行。
-
@AfterThrowing
- 作用:異常拋出增強,相當于ThrowsAdvice。
-
@After
- 作用:final增強,不管是拋出異?;蛘哒M顺龆紩?zhí)行。
-
@Around
- 作用:環(huán)繞增強,相當于MethodInterceptor。
八、其他注解?
1、@Component、@Service、@Repository
-
作用:都是用于將類注入到Spring容器中的注解,但它們使用的場景不同。
-
功能:
-
@Component:是一個通用的注解,用于指定一個類是一個Spring Bean。
-
@Service:用于標識一個類是業(yè)務邏輯層的Bean。
-
@Repository:用于標識一個類是數(shù)據(jù)訪問層的Bean。
-
2、@ResponseBody
-
作用:用于方法或類上,表示該方法的返回結(jié)果直接寫入HTTP response body中,而不會被解析為跳轉(zhuǎn)路徑。
3、 處理請求參數(shù)的注解
-
@RequestParam:用于接收URL?后面的參數(shù),適用于GET或POST請求。
-
@PathVariable:用于獲取路徑參數(shù),如URL中的/{id}/{name}這種形式的參數(shù)。
-
@RequestBody:用于獲取請求體數(shù)據(jù)(body),通常用于POST請求,接收json數(shù)據(jù)。
-
@RequestHeader:用于獲取請求標頭的信息。
-
@CookieValue:用于獲取Cookie的值。
4、@Value、@ConfigurationProperties、@PropertySource
-
@Value:用于獲取配置文件中的單個屬性值。
-
@ConfigurationProperties:可以直接注入整個類的數(shù)據(jù)。
-
@PropertySource:用于指定加載的配置文件,但注意它不支持YML文件讀取。
5、@build
-
作用:@build注解通常與Lombok插件一起使用,用于自動生成所需要的代碼。通過@build注解,可以使得編寫的類能夠通過代碼實例化,自動生成setter、getter、toString等方法。但需要注意的是,直接使用@build注解進行對象創(chuàng)建并不是一種推薦的做法,更好的方式是使用Lombok提供的builder模式來創(chuàng)建對象。
-
功能:簡化代碼,減少手動編寫setter、getter、toString等方法的重復勞動,提高開發(fā)效率。
6、@Select
-
作用:@Select注解是MyBatis框架中的一個注解,用于標記查詢語句。它可以在接口方法上使用,也可以在XML文件中使用。
-
功能:通過@Select注解,可以直接在接口方法上指定SQL查詢語句,無需編寫XML配置文件。這使得查詢語句更加直觀和易于管理。同時,@Select注解還支持參數(shù)替換和動態(tài)SQL等功能。
7、@Target
-
作用:@Target注解是Java中的一個元注解(即注解的注解),用于指定其他注解可以應用的目標元素(如類、方法、字段等)。
-
功能:通過@Target注解,可以限制其他注解的使用范圍,確保它們只能被應用到指定的元素上。這有助于提高代碼的可讀性和可維護性,避免注解被誤用或濫用。
8、@Retention
-
作用:@Retention注解也是Java中的一個元注解,用于指定注解的生命周期。
-
功能:通過@Retention注解,可以定義注解在何時被保留和丟棄。Java提供了三種RetentionPolicy(保留策略):SOURCE、CLASS和RUNTIME。
-
SOURCE:注解只在源代碼中保留,在編譯成.class文件時被丟棄。這種策略通常用于檢查性的注解,如@Override和@SuppressWarnings。
-
CLASS:注解在編譯成.class文件時被保留,但在JVM加載類文件時被丟棄。這是默認的保留策略,通常用于在編譯時進行一些預處理操作,如生成輔助代碼。
-
RUNTIME:注解不僅被保留在.class文件中,而且在JVM加載類文件后仍然可用。這種策略通常用于在運行時通過反射機制獲取注解信息,進行相應處理。
-