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