spring框架開發(fā)主要技術(shù) springboot三大原理?
springboot三大原理?springboot原理是:1、依戀管理,SpringBoot做了大量starter;2、自動啟動配置,SpringBoot基于條件Spring代碼配置可以提供了很多常用
springboot三大原理?
springboot原理是:
1、依戀管理,SpringBoot做了大量starter;
2、自動啟動配置,SpringBoot基于條件Spring代碼配置可以提供了很多常用組件和框架的配置類;
3、內(nèi)嵌容器,板載顯卡Java的最常見Web容器。
SpringBoot是由Pivotal團隊提供給的全新機框架,其設計目的是單獨簡化新Spring應用到的初始重新搭建包括開發(fā)過程。該框架不使用了特定的來并且配置,從而使開發(fā)人員再次不需要符號表示樣板化的配置。
spring框架的實例由什么創(chuàng)建?
spring框架的實例是有spring容器利用反射創(chuàng)建戰(zhàn)隊。
spring屬于哪一層框架?
Spring是一個開源的輕量級的IOC和AOP容器框架。是為Java應用程序提供基礎的一套框架,目的是應用于更簡練企業(yè)應用程序的開發(fā),它令開發(fā)者只需要不在乎業(yè)務需求。
Spring的優(yōu)點:
1.低侵蝕式設計,代碼污染低得
2.的的于各種應用服務器,基于組件Spring框架的應用,是可以真正的基于Write Once,Run Anywhere的承諾
3.Spring的DI機制將對象之間的感情依賴關(guān)系交由框架處理,降低耗氧量組件的耦合性;
4.Spring提供了AOP技術(shù),接受將一些通用任務,如不會有危險、事務、日志、權(quán)限等參與集中式管理,最大限度地能提供更好的復用。
5.Spring的ORM和DAO提供給了與第三方持久層框架的良好整合,并更簡練了底層的數(shù)據(jù)庫訪問
6.Spring卻不是強制應用方法全部依賴性太強于Spring,開發(fā)者可神圣選用Spring框架的部分或全部
7.Spring對此主流的應用框架提供了集成主板支持。
spring屬于什么完全控制層業(yè)務層。也可以能用HibernateStruts
Hibernate持久層,要注意數(shù)據(jù)不易脫妝化Struts控制層。
spring,hibernate,struts是現(xiàn)在流行的ssh開發(fā)模式。
你平時主要使用什么Java開發(fā)框架?
就拿我們項目來舉例子講一講吧。
我們的項目是一個純后臺服務的項目,也就是沒有前端頁面,只對外提供服務;項目是是基于組件Spring Boot來做的,引入spring-boot-starter-web,再組織不暴漏接口,報文在用的JSON,有極其它的接口是從老系統(tǒng)遷移到過去的,替讓內(nèi)部函數(shù)方盡很有可能地稍作可以修改,因為保持了XML的報文;在臨時的生產(chǎn)環(huán)境中,也使用的內(nèi)置的Tomcat;集成主板了Swagger,來做接口的文檔大俠幫幫忙自動生成。
ORM框架選擇的是MyBatis,因此項目中大部分的查詢都能做到了單表查詢,但去查詢條件也很且固定,所以我然后在用注解做的SQL語句帳號綁定。
是因為項目不僅僅不使用了關(guān)系型數(shù)據(jù)庫,而更多的數(shù)據(jù)是加工關(guān)聯(lián)后保存到了MongoDB中,因為項目也要用了Spring Data MongoDB,我們的MongoDB是做了副本集的部署,使用Spring Data MongoDB,只是需要做簡單點配置,就這個可以能完成對多臺MongoDB的訪問,如果其中一臺MongoDB掛了,對服務又是沒有影響的,所以我們做MongoDB容量翻倍的時候是是可以網(wǎng)做的(MongoDB擴內(nèi)存和CPU的時候需要欠費)。
和部分系統(tǒng)的交互使用到了RabbitMQ,而Spring Boot如果能分解重組spring-boot-starter-amqp,當然就可以很比較方便地結(jié)束和RabbitMQ的集成;生產(chǎn)者和消費者都非常方便。
而且是純接口的服務,目的是緩解數(shù)據(jù)庫的壓力,因此我們依據(jù)什么業(yè)務場景,將一些接口的結(jié)果再緩存到Redis中(數(shù)據(jù)變化不不穩(wěn)定,另外業(yè)務場景的實時性要求也不是很高)。在集成顯卡Redis的時候,我們前后試了兩種
Spring Boot項目,直接可以使用@Cacheable注解就可以能夠完成和Redis最簡單的獨立顯卡,但是后來我們而且可以設置緩存的連接超時時間夠不夠靈活自如,我們當時改成了第二種方案;
不使用RedisTemplate,這個可以完成對Redis的絕大部分不能操作。
我將持續(xù)多多分享Java開發(fā)、架構(gòu)設計、程序員職業(yè)發(fā)展等方面的見解,希望能能夠得到你的關(guān)注。