System-connectivity

Function & BiFunction

  1. Function<T,R>
  • T is the accept type
  • R is the return type
  1. BiFunction<T,U,R>
  • T,U is the accept type
  • R is the return type

@PostConstruct

注釋方法
@PostConstruct該注解被用來修飾一個非靜態(tài)的void()方法
Constructor(構(gòu)造方法) -> @Autowired(依賴注入) -> @PostConstruct(注釋的方法)

This

  • 引用成員變量 this.name=name
  • 調(diào)用類的構(gòu)造方法: this("hello");
  • 返回對象的值:return this;
  • instance = this;:獲得該類的實例。

單例模式Singleton

registry.gauge

gauge(meric,tags,meric,metricData::get):
meric和tags拼接,meric從后面的函數(shù)獲得:mericdata.get

LOG

  • log.isTraceEnabled():方法作用是判斷記錄器Trace跟蹤是否激活。Trace跟蹤激活后一般會打印比較詳細的信息。
  • log.trace:
    Log4j中將要輸出的Log信息定義了5種級別:
    依次為DEBUG、INFO、WARN、ERROR和FATAL.
    并無trace級別,因此trace級別同debug級別
    Debug類提供一組幫助調(diào)試代碼的方法和屬性。Trace類提供一組幫助跟蹤代碼執(zhí)行的方法和屬性,通俗的說就是為在不打斷程序的調(diào)試或跟蹤下,用來記錄程序執(zhí)行的過程。
    Debug只在debug狀態(tài)下會輸出,Trace在Release下也會輸出,在Release下Debug的內(nèi)容會消失

ConcurrentHashMap

ConcurrentHashMap使用的是分段鎖技術(shù),將ConcurrentHashMap將鎖一段一段的存儲,然后給每一段數(shù)據(jù)配一把鎖(segment),當(dāng)一個線程占用一把鎖(segment)訪問其中一段數(shù)據(jù)的時候,其他段的數(shù)據(jù)也能被其它的線程訪問,默認分配16個segment。默認比Hashtable效率提高16倍.

Stream

data.entrySet()
                   .stream()
                   .sorted(Map.Entry.comparingByKey())
                   .forEach(entry -> {log.trace("{}: {}", entry.getKey(), entry.getValue());});
  • entrySet:變成一個k-v的set集合
  • Map.Entry.comparingByKey()
  • foreach

computeIfPresent

Annotation

@Slf4j

  • 日志標(biāo)準(zhǔn)
private static final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
logger.debug("debug");
logger.info("info");
logger.error("error");

@Component

  • @controller: controller控制器層(注入服務(wù))
  • @service : service服務(wù)層(注入dao)
  • @repository : dao持久層(實現(xiàn)dao訪問)
  • @component: 標(biāo)注一個類為Spring容器的Bean,(把普通pojo實例化到spring容器中,相當(dāng)于配置文件中的<bean id="" class=""/>)

mvc:model-view-controller
model:存取數(shù)據(jù)的對象或java pojo
view:可視化
controller:控制器,控制數(shù)據(jù)流向模型對象

三層架構(gòu):數(shù)據(jù)訪問層dao層
ssh:struts+spring+hibernate

controller: 用戶輸入-->controller
model:controller--> model--> view
model--->datebase
view: 顯示給用戶

MVC編程模式:

  • model表示應(yīng)用程序核心
  • view 顯示數(shù)據(jù)
  • controller:處理輸入
struts
  • actionservlet
  • action
  • actionfrom
  • actionmapping
  • actionforward
Hibernate 特征

對象關(guān)系映射框架,對JDBC進行了輕量級的對象封裝。自動生成SQL語句。

對象的調(diào)用流程:JSP—Action—Service—DAO—Hibernate—數(shù)據(jù)庫。

DAO層

DAO層叫數(shù)據(jù)訪問層,全稱是data access object.一定是和數(shù)據(jù)庫的某一個張表一一對應(yīng)。封裝了增刪改查。只有原子操作。
@Resository持久層

Service層

服務(wù)層,粗略理解就是對一個或多個dao進行封裝,封裝為一個服務(wù),需要事務(wù)控制。
@service

controler層

負責(zé)請求轉(zhuǎn)發(fā),接受頁面過來的參數(shù)。傳給service處理,接受返回值,再傳給頁面。
@controller層

總結(jié)

DAO面向表,Service面向業(yè)務(wù)。后端開發(fā)時先數(shù)據(jù)庫設(shè)計出所有表,然后對每一張表設(shè)計出DAO層,然后根據(jù)具體的業(yè)務(wù)邏輯進一步封裝DAO層成一個Service層,對外提供成一個服務(wù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容