- @Bean
1、Spring的@Bean注解用于告訴方法,產(chǎn)生一個Bean對象,然后這個Bean對象交給Spring管理。 產(chǎn)生這個Bean對象的方法Spring只會調(diào)用一次,隨后這個Spring將會將這個Bean對象放在自己的IOC容器中。
2、@Component , @Repository , @ Controller , @Service 這些注解只局限于自己編寫的類,而@Bean注解能把第三方庫中的類實例加入IOC容器中并交給spring管理。
3、@Bean注解的另一個好處就是能夠動態(tài)獲取一個Bean對象,能夠根據(jù)環(huán)境不同得到不同的Bean對象。
4、記住,@Bean就放在方法上,就是讓方法去產(chǎn)生一個Bean,然后交給Spring容器,剩下的你就別管了。
@Import和@ImportResource
@Import 注解是用來導(dǎo)入配置類或者一些需要前置加載的類。反射:反射代表一種動態(tài)能力,Java程序本身需要先編譯,但是反射可以直接在運行中獲取對象和方法
在java中,反射主要是指程序可以訪問、檢測和修改它本身狀態(tài)或行為的一種能力。Java反射機制的主要功能:1、在運行時判斷任意一個對象所屬的類;2、在運行時構(gòu)造任意一個類的對象;3、在運行時調(diào)用任意一個對象的方法等。Bean是由計算機自動生成的類,bean是一個由Spring IoC容器實例化、組裝和管理的對象。也就是說,bean并不是程序員編輯的,而是程序運行時,由spring通過反射生成的。
異常
知道會有異常,trycatch就是本方法處理,不處理就是throws上層處理
異常并不一定要捕獲,比如業(yè)務(wù)異常,主動拋出給global處理IOC容器
IOC 容器具有依賴注入功能的容器,它可以創(chuàng)建對象,IOC 容器負(fù)責(zé)實例化、定位、配置應(yīng)用程序中的對象及建立這些對象間的依賴。 通常new一個實例,控制權(quán)由程序員控制,而"控制反轉(zhuǎn)"是指new實例工作不由程序員來做而是交給Spring容器來做。 在Spring中BeanFactory是IOC容器的實際代表者。
- 注解
注解一方面是一個標(biāo)記,用于和切面配合,打標(biāo)然后做攔截
注解其實就是一種標(biāo)記,可以在程序代碼中的關(guān)鍵節(jié)點(類、方法、變量、參數(shù)、包)上打上這些標(biāo)記,然后程序在編譯時或運行時可以檢測到這些標(biāo)記從而執(zhí)行一些特殊操作。因此可以得出自定義注解使用的基本流程:
第一步,定義注解——相當(dāng)于定義標(biāo)記;
第二步,配置注解——把標(biāo)記打在需要用到的程序代碼中;
第三步,解析注解——在編譯期或運行時檢測到標(biāo)記,并進(jìn)行特殊操作。
https://blog.csdn.net/qq_41378597/article/details/102934784
ThreadLocal
線程變量,屬于當(dāng)前線程
作用:常用于儲存用戶登錄信息,要記得remove防止內(nèi)存泄漏-
servlet (https://www.runoob.com/servlet/servlet-intro.html)
一個處理http請求的類
image.png
Java Servlet 是運行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。
使用 Servlet,您可以收集來自網(wǎng)頁表單的用戶輸入,呈現(xiàn)來自數(shù)據(jù)庫或者其他源的記錄,還可以動態(tài)創(chuàng)建網(wǎng)頁。
Java Servlet 通常情況下與使用 CGI(Common Gateway Interface,公共網(wǎng)關(guān)接口)實現(xiàn)的程序可以達(dá)到異曲同工的效果。但是相比于 CGI,Servlet 有以下幾點優(yōu)勢:
性能明顯更好。
Servlet 在 Web 服務(wù)器的地址空間內(nèi)執(zhí)行。這樣它就沒有必要再創(chuàng)建一個單獨的進(jìn)程來處理每個客戶端請求。
Servlet 是獨立于平臺的,因為它們是用 Java 編寫的。
服務(wù)器上的 Java 安全管理器執(zhí)行了一系列限制,以保護(hù)服務(wù)器計算機上的資源。因此,Servlet 是可信的。
Java 類庫的全部功能對 Servlet 來說都是可用的。它可以通過 sockets 和 RMI 機制與 applets、數(shù)據(jù)庫或其他軟件進(jìn)行交互。
WebMvcConfigurer
spring內(nèi)部配置方式,自定義一些Handler,Interceptor,ViewResolver,MessageConverterFacotryBean 和 BeanFactory
https://juejin.cn/post/6905987230766989325
