本文來自于摘抄總結
1、@Override重寫父類方法
如果想重寫父類的方法,比如toString()方法的話,在方法前面加上@Override 系統可以幫你檢查方法的正確性,@Overridepublic String toString(){...}這是正確的一旦寫錯 寫成這樣@Overridepublic String tostring(){...}編譯器可以檢測出這種寫法是錯誤的 這樣能保證你的確重寫的方法正確而如果不加@Overridepublic String tostring(){...}這樣編譯器是不會報錯的 它只會認為這是你自己新加的一個方法而已
2、@Configuration
用@Configuration注解的類,等價于xml中配置beans
3、@Bean
用@Bean標注方法等價于XML中配置的bean
4、@Autowired進行自動注入
SPRing通過@Autowired注解Bean的依賴注入,@Autowired注入式按照類型注入的,只要配置文件中的bean類型需要和bean類型是一致的,這時候注入就沒有問題。但是如果相同類型的bean不止一個,此時注入就會出現問題,Spring容器就無法啟動
5、@Resource按照bean的名字來進行注入
如果我們沒有使用@Resource時指定bean的名字,同時Spring容器中又沒有該名字的bean,這時候@Resource就會退化成@Autowired即按照類型注入,這樣就有可能違背使用@Resource的初衷。所以建議在使用@Resource時都顯示指定一下bean的名字@Resource(name="xxx")
6、@Primary優先選擇
在Spring中使用注解,常使用@Autowired,默認是根據類型Type來自動注入的。但有些特殊情況,對同一個接口,可能有幾種不同的實現類,而默認只采取其中一種的情況下@Primary的作用就出來了。
7、@Qualifier調整基于注解的字哦那個注入
在基于類型的自動注入中,若出現了多個實例Bean,@Primary是一個高效的方式來決定注入那個示例。若想在選擇Bean的過程中擁有更多的控制,可以使用Spring的@Qualifier注解??梢栽谥付▍瞪鲜褂聾Qualifier,可以縮小類型匹配的范圍,更容易找到指定的Bean.例如@Qualifier("main")。
8、@Transactional
在Spring中@Tansactional提供一種控制事務管理的快捷手段?;趧討B代理的機制,提供了一種透明的事務管理機制,方便的解決在開發中碰到的問題。
9、Spring Boot
Spring Boot 是 Spring 產品中一個新的子項目,致力于簡便快捷地搭建基于 Spring 的獨立可運行的應用。大多數的 Spring Boot 應用只需要非常少的 Spring 配置。
10、YAML語言
YAML 是專門用來寫配置文件的語言,非常簡潔和強大,遠比 JSON 格式方便。
11、jetty
Jetty是一個提供HHTP服務器、HTTP客戶端和javax.servlet容器的開源項目。
12、OAuth
OAuth 是一種分布式身份驗證和授權的開放標準。它于 2006 年由 Twitter 和業務合作伙伴 Ma.gnolia 開發,用來方便地創建一些桌面小部件,這些小部件可以顯示來自已身份驗證服務的信息。您不再需要編寫算法來執行強密碼,或者處理忘記密碼的問題,或者強制用戶定期更改其密碼。
13、Grails中的mvc
Grails 是一個遵循 MVC 設計模式的 Web 開發框架。它分別用 Domain Class、View、Controller 對應于 MVC 的模型、視圖和控制器??梢院唵蔚陌岩粋€ Domain Class 理解為數據庫中的一張表,Grails 在底層通過 Hibernate 將 Domain Class 和數據庫的表進行了映射。View 在 Grails 中指的是 GSP 頁面(注意是 GSP 不是 jsp),它用于顯示用戶界面。GSP 與 JSP 類似,既可以編寫靜態網頁的元素,也可以嵌入 Groovy 代碼實現動態內容。Controller 在 Grails 中充當著重要的角色:它可以響應用戶的請求,可以接收用戶提交的表單,還可以訪問模型的數據,并傳遞給 View。
14、Hibernate
工作原理:
(1)讀取并解析配置文件 。(2)讀取并解析映射信息,創建sessionFactory。(3)打開Session 。(4)創建事務Transation 。(5)持久化操作 。(6)提交事務 。(7)關閉Session 。(8)關閉SesstionFactory 。
優勢:
(1)對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。(2) Hibernate是一個基于JDBC的主流持久化框架,是一個優秀的ORM實現,很大程度的簡化DAO層的編碼工作 。(3)Hibernate使用Java反射機制,而不是字節碼增強程序來實現透明性。(4)Hibernate的性能非常好,因為它是個輕量級框架,映射的靈活性很出色,它支持各種關系數據庫,從一對一到多對多的各種復雜關系。
15、MVC
Controller截獲用戶通過鼠標或鍵盤發出的請求,然后改變Model的狀態,Model通過Observer Synchronization(觀察者模式)通知View自己的狀態發生了變化。View查詢Model展現數據。
16、從一臺到另外一臺服務器
ssh spiderdt@192.168.1.3
然后 docker ps顯示哪些運行在docker上面
17、壓縮和解壓
壓縮:
tar -cvf destination.tar.gz source
destination.tar.gz為目標壓縮文件
source為源文件或源文件夾
解壓:
tar -xvf cache-api.tar.gz
18、重要命令記錄
grails
create-app cache-api 創建app
run-app -port=2222部署到2222端口
create-controller applicationController 創建controller
create-service PsqlService 創建service
create-domain-class cache 創建domain
19、IntelliJ IDEA的優化導包設置路徑
Settings
| Editor
| General
| Auto Import
and Optimize imports option in the Commit Project
dialog.勾選后會自動刪除不要的import
20、查看cpu和內存
cat /proc/cpuinfo 查看cpu
free -m 查看內存
21、grails刪除
使用grails常見生成代碼如上,生成是能生成,但是怎么刪除呢?使用grails help查看發現也沒有delete或者remove代碼。網上查了一下,沒有自動刪除的代碼,只能手動刪除,拿grails create-domain-class Race這一句為例,僅僅需要刪除racetrack/test/unit/racetrack/RaceTests.groovy和racetrack/grails-app/domain/racetrack/Race.groovy
22、linux查看目錄結構
tree命令
23、vi是vim的升級版
24、vi基本操作:
:set nu 顯示行數
u 撤銷
5dd 刪除5行
一些常用命令案例:1.刪除指定的某些行命令:(命令行命令模式)m,nd釋義:m是從第m行開始;n是從第n行開始;d是刪除操作。之后回車即可。例子:刪除m到n之間的行數step1:(命令行命令模式):m,nd——輸入從第m行到當前位置的刪除命令step2:(命令行命令模式)回車——執行刪除命令2.復制指定的某些行命令:(命令行命令模式):m,ny釋義:m是從第m行開始;n是從第n行開始;y是刪除操作。之后回車即可。例子:復制m到n之間的行數step1:(命令行命令模式):m,ny——輸入從第m行到當前位置的刪除命令step2:(命令行命令模式)回車——執行復制命令3.選中指定的某些行命令:(一般模式)mGVnG釋義:mG是從第m行開始;nG是直到第n行;V是進入可視模式。之后可以進行復制(y)、刪除(d)操作。例子1:選中m到n之間的行數step1:(一般模式):mGVnG——輸入從第m行到第n行選中例子2:全選step1:(一般模式):ggVG——全選選中4. vim多行注釋/刪除注釋注釋:ctrl+v 進入列編輯模式,向下或向上移動光標,把需要注釋的行的開頭標記起來,然后按大寫的I,再插入注釋符,比如"//",再按Esc,就會全部注釋了。刪除:先按v,進入visual模式,橫向選中列的個數(如"/ /"注釋符號,需要選中兩列),再按Esc,再按ctrl+v 進入列編輯模式,向下或向上移動光標,選中注釋部分,然后按d, 就會刪除注釋符號。5. 編程時自動補全成員CTRL+N/P,n是向下找,p是向前找
24、切換
ssh 192.168.1.3
25、查看docker運行程序
docker ps
26、獲取config里面application.yml的配置
//Retrieve property 'foo.bar.greeting' without specifying type (default is String), otherwise use value "Hello" def greeting = grailsApplication.config.getProperty('foo.bar.greeting', "Hello")27、 @Value('${foo.bar.hello}')
In Groovy code you must use single quotes around the string for the value of the Value annotation otherwise it is interpreted as a GString not a Spring expression.
新聞熱點
疑難解答