repository層(repository詞根詞綴)

大家好,今天給各位分享repository層的一些知識,其中也會對repository詞根詞綴進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘了關注本站...
大家好,今天給各位分享repository層的一些知識,其中也會對repository詞根詞綴進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在就馬上開始吧!
springmvc4controller和service層的區別
其實他們作用是一樣的,唯一區別是:controller:是用于注釋你的action或者servlet的。
service:是用來注釋你的service層的實現類。
repository:是用來注釋你的持久層,也就是dao層的實現類的。
spring boot怎么操作數據庫
新建SpringBoot項目,依賴選擇JPA(spring-boot-starter-data-jpa)和Web(spring-bootstarter-web)。配置基本屬性在application.properties里配置數據源和jpa的相關屬性spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/springbootspring.datasource.username=rootspring.datasource.password=123456spring.jpa.hibernate.ddl-auto=updatespring.jpa.show-sql=truespring.jackson.serialization.indent_output=true定義映射實體類定義Controller類@RestControllerpublicclassPersonCtroller{@AutowiredPersonServerpersonServer;@RequestMapping("/rollback"
)publicPersonrollback(Personperson){returnpersonServer.savePersonWithRollBack(person);}@RequestMapping("/norollback"
)publicPersonnoRollback(Personperson){returnpersonServer.savePersonWithOutRollBack(person);}}定義數據訪問層publicinterfacePersonRepositoryextendsJpaRepository<Person,Long>{}定義Server層@ServicepublicclassPersonServerImpimplementsPersonServer{@AutowiredPersonRepositorypersonRepository;@Transactional(rollbackFor={IllegalArgumentException.class}
)@OverridepublicPersonsavePersonWithRollBack(Personperson){Personp=personRepository.save(person);if(p.getName().equals("xxx")){thrownewIllegalArgumentException("用戶已存在,數據會回滾");}returnp;}}7瀏覽器訪問
Docker有什么優勢
單純的Docker是一個非常難理解的東西,它和虛擬機有些類似,但又不等同于虛擬機,它們的原理是不同的。
虛擬機只是對硬件進行虛擬化,基于物理機的硬件虛擬出一套硬件之后,在這個基礎上運行一個完整的操作系統,而Docker是虛擬化的容器,容器虛擬化的是操作系統而不是硬件,容器和容器之間共享同一套操作系統資源。
容器的優勢是非常明顯的:虛擬機將一臺服務器變成多臺服務器,每一個VM都擁有整套的操作系統、需要占用大量的空間,所以VM啟動緩慢系統也會占用很多的硬件資源。代碼、依賴的資源打包在一起形成一個容器,容器沒有自己的內核,容器內的應用直接運行在系統的內核上,多個容器可以同時運行共享系統內核,但容器之間又以相互獨立的進程在運行。所以容器比虛擬機要輕便很多,幾乎瞬間就能啟動。
如此這般說Docker的概念還是很抽象,舉個例子:Ubuntu的系統搭建的項目要部署到CentOS的服務器上,所有依賴的環境(比如:MySQL、Redis等等)都需要重新安裝一遍,并按照部署的要求進行配置。使用Docker只需要一條命令就可以達成,需要MySQL只需要安裝一個MySQL的鏡像,需要Redis只需要安裝一個帶Redis的鏡像,然后啟動這些容器就可以。
容器可以用別人制作的,也可以添加一些自己的軟件、修改相應的配置文件做一個鏡像,通過這個鏡像就可以創建出無數個一模一樣的容器。Docker和各大開源項目團隊一起維護著龐大高質量的官方鏡像,我們可以直接使用或者修改定制后再使用。你還無法體會這樣的優勢所在,比如通過一個Redis鏡像,可以輕松的搭建一個集群。容器更多地用來表示軟件的標準化單元,無視物理硬件設施之間的差異部署到任意位置、任意平臺,所以容器又被譽為代碼集裝箱裝卸工。
如此這般就不會再出現諸如“這段代碼在我機器上運行沒有問題”之類的,可以輕松的將在一個平臺上運行的應用,迅速的遷移到另一個平臺,而不用考慮平臺和運行環境的兼容性。
Docker包含了鏡像(Image)、容器(Container)、倉庫(Repository)Docker的鏡像相當于Linux的root文件系統,它提供容器運行所需要的軟件、資源、配置參數、庫文件等等。容器才是運行的實體,鏡像是經過一層層構建定義的,里面不包含任何動態數據,構建完之后就不會再改變,而容器可以創建、啟動、停止、暫停、刪除。倉庫是用來集中存放鏡像文件,這樣就便于服務器進行統一的管理。
Docker碼頭裝卸工的形象已經深入人心Docker將開源倉庫的鏡像拉到本地,鏡像運行后在本地運行形成容器,這個就是Docker碼頭裝卸工的形象,已經深入人心。它賦予了軟件獨立性,避免了開發、預演、環境之間的差異。Docker這幾年這么火爆是不無道理的,好用所以它就火了。
以上個人淺見,歡迎批評指正。
認同我的看法,請點個贊再走,感謝!
喜歡我的,請關注我,再次感謝!
好了,本文到此結束,如果可以幫助到大家,還望關注本站哦!
本文鏈接:http://xinin56.com/qianduan/2094.html