欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis 全局配置文件詳解

 更新時(shí)間:2024年06月20日 09:49:35   作者:花落隨風(fēng)輕飄舞  
MyBatis的全局配置文件定義了MyBatis的全局行為,本文主要介紹了MyBatis 全局配置文件詳解,具有一定的參考價(jià)值,感興趣的可以了解一下

1 MyBatis 全局配置文件

MyBatais 全局配置文件所有配置項(xiàng)如下所示,配置項(xiàng)只能按照如下順序進(jìn)行設(shè)置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 
<configuration> <!--配置-->
    <properties/> <!--屬性-->
    <settings/> <!--全局配置參數(shù)-->
    <typeAliases/> <!--類型別名-->
    <typeHandlers/> <!--類型處理器-->
    <objectFactory/><!--對(duì)象工廠-->
    <plugins/><!--創(chuàng)建-->
    <environments default=""><!--環(huán)境配置-->
        <environment id=""><!--環(huán)境變量-->
            <transactionManager type=""/><!--事務(wù)管理器-->
            <dataSource type=""/><!--數(shù)據(jù)源-->
        </environment>
    </environments>
    <databaseIdProvider type=""/><!--數(shù)據(jù)庫(kù)廠商標(biāo)識(shí)-->
    <mappers/><!--映射器-->
</configuration>

2 properties 元素

mysql.properties 配置文件

url=jdbc:mysql://localhost:3306/study?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
name=root
password=123456
driver=com.mysql.cj.jdbc.Driver

通過(guò) properties 元素導(dǎo)入 mysql.properties 配置文件,會(huì)在當(dāng)前配置文件所在目錄下查找 mysql.properties 配置文件

<properties resource="mysql.properties" />

此外,也可以用 properties 元素的 url 屬性來(lái)指定屬性文件的 URL

<!-- 指定一個(gè)網(wǎng)絡(luò)上的屬性文件 -->
<properties url="http://example.com/jdbc.properties" />

<!-- 指定一個(gè)位于本地文件系統(tǒng)中的屬性文件 -->
<properties url="file:///path/to/config.properties" />

如果屬性在不只一個(gè)地方進(jìn)行了配置,那么 MyBatis 將按照如下順序來(lái)加載:

  • 在 properties 元素體內(nèi)指定的屬性首先被讀取
<properties>
    <!--property子元素定義-->
    <property name="database.driver" value="com.mysql.cj.jdbc.Driver"/>
    <property name="database.url" value="jdbc:mysql://localhost:3306/study?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/>
    <property name="database.username" value="root"/>
    <property name="database.password" value="123456"/>
</properties>
  • 然后根據(jù) properties 元素中的 resource 屬性讀取類路徑下屬性文件或根據(jù) url 屬性指定的路徑讀取屬性文件,并覆蓋已讀取的同名屬性
  • 最后讀取作為方法參數(shù)傳遞的屬性,并覆蓋已讀取的同名屬性
// 加載數(shù)據(jù)庫(kù)配置文件
is = Resources.getResourceAsStream("msyql.properties");
Properties properties = new Properties();
properties.load(is);

// 獲取加密信息
String username= properties.getProperty("database.username");
String password= properties.getProperty("database.password");
 
// 解密用戶名和密碼,并重置屬性
properties.setProperty("database.username", CyperTool.decodeByBase64(username));
properties.setProperty("database.password", CyperTool.decodeByBase64(password));

3 setting 設(shè)置

setting 設(shè)置是 MyBatis 中極為重要的調(diào)整設(shè)置,它們會(huì)改變 MyBatis 的運(yùn)行時(shí)行為。但是大部分情況下使用默認(rèn)值便可以運(yùn)行,所以在大部分情況下不需要大量配置,只需要修改一些常用的規(guī)則即可。常用規(guī)則有自動(dòng)映射、駝峰命名映射、級(jí)聯(lián)規(guī)則、是否啟動(dòng)緩存、執(zhí)行器類型等。

<settings>
    <!--緩存配置的全局開(kāi)關(guān):如果這里設(shè)置成false,那么即便在映射器中配置開(kāi)啟也無(wú)濟(jì)于事 -->
    <setting name="cacheEnabled" value="true" />
    <!--延時(shí)加載的全局開(kāi)關(guān) -->
    <setting name="lazyLoadingEnabled" value="false" />
</settings>
屬性名含義簡(jiǎn)介有效值默認(rèn)值
cacheEnabled是否使用緩存是整個(gè)工程中所有映射器配置緩存的開(kāi)關(guān),即是一個(gè)全局緩存開(kāi)關(guān)true | falsetrue
lazyLoadingEnabled是否開(kāi)啟延遲加載控制全局是否使用延遲加載。當(dāng)有特殊關(guān)聯(lián)關(guān)系需要單獨(dú)配置時(shí),可以使用 fetchType 屬性來(lái)覆蓋此配置true | falsefalse
aggressiveLazyLoading是否按需加載屬性開(kāi)啟時(shí),不論調(diào)用什么方法加載某個(gè)對(duì)象,都會(huì)加載該對(duì)象的所有屬性,關(guān)閉后只會(huì)按需加載true | falsefalse
multipleResultSetsEnabled是否允許單一語(yǔ)句返回多結(jié)果集即 Mapper 配置中一個(gè)單一的 sql 配置是否能夠返回多個(gè)結(jié)果集true | falsetrue
useColumnLabel使用列標(biāo)簽代替列名設(shè)置是否使用列標(biāo)簽代替列名true | falsetrue
useGenerateKeys是否支持 JDBC 自動(dòng)生成主鍵設(shè)置之后,將會(huì)強(qiáng)制使用自動(dòng)生成主鍵的策略true | falsefalse
autoMappingBehavior指定 MyBatis 自動(dòng)映射字段或?qū)傩缘姆绞?/td>有三種方式,NONE 時(shí)將取消自動(dòng)映射;PARTIAL 時(shí)只會(huì)自動(dòng)映射沒(méi)有定義結(jié)果集的結(jié)果映射;FULL 時(shí)會(huì)映射任意復(fù)雜的結(jié)果集NONE, PARTIAL, FULLPARTIAL
autoMappingUnknownColumnBehavior設(shè)置當(dāng)自動(dòng)映射時(shí)發(fā)現(xiàn)未知列的動(dòng)作有三種動(dòng)作,NONE 時(shí)不做任何操作;WARNING 時(shí)會(huì)輸出提醒日志;FALLING 時(shí)會(huì)拋出 SqlSessionException 異常表示映射失敗NONE, WARNING, FALLINGNONE
defaultExecutorType設(shè)置默認(rèn)的執(zhí)行器有三種執(zhí)行器,SIMPLE 為普通執(zhí)行器;REUSE 執(zhí)行器會(huì)重用處理語(yǔ)句;BATCH 執(zhí)行器將重用語(yǔ)句并執(zhí)行批量更新SIMPLE, REUSE, BATCHSIMPLE
defaultStatementTimeout設(shè)置超時(shí)時(shí)間該超時(shí)時(shí)間即數(shù)據(jù)驅(qū)動(dòng)連接數(shù)據(jù)庫(kù)時(shí),等待數(shù)據(jù)庫(kù)回應(yīng)的最大秒數(shù)任意正整數(shù)無(wú)
defaultFetchSize設(shè)置驅(qū)動(dòng)的結(jié)果集為了防止從數(shù)據(jù)庫(kù)查詢出來(lái)的結(jié)果過(guò)多,而導(dǎo)致內(nèi)存溢出,可以通過(guò)設(shè)置 fetchSize 參數(shù)來(lái)控制結(jié)果集的數(shù)量任意正整數(shù)無(wú)
safeRowBoundsEnabled允許在嵌套語(yǔ)句中使用分頁(yè),RowBound,即行內(nèi)嵌套語(yǔ)句如果允許在 sql 的行內(nèi)嵌套語(yǔ)句中使用分頁(yè),就設(shè)置該值為 falsetrue | falsefalse
safeResultHandlerEnabled允許在嵌套語(yǔ)句中使用分頁(yè),ResultHandler,即結(jié)果及處理如果允許對(duì) sql 的結(jié)果集使用分頁(yè),就設(shè)置該值為 falsetrue | falsetrue
mapUnderscoreToCamelCase是否開(kāi)啟駝峰命名規(guī)則映射表名數(shù)據(jù)庫(kù)中的字段名稱與工程中 Java 實(shí)體內(nèi)的映射是否采用駝峰命名規(guī)則校驗(yàn)true | falsefalse
localCacheScopeMyBatis 利用本地緩存機(jī)制防止循環(huán)引用和加速重復(fù)嵌套查詢默認(rèn)值為 SESSION,這種情況下會(huì)緩存一個(gè)會(huì)話中執(zhí)行的所有查詢。若設(shè)置為 STATEMENT,一級(jí)緩存僅對(duì)當(dāng)前執(zhí)行的語(yǔ)句有效。這意味著每次語(yǔ)句執(zhí)行完畢后,緩存就會(huì)被清空SESSION | STATEMENTSESSION
jdbcTypeForNullJDBC 類型的默認(rèn)設(shè)置當(dāng)沒(méi)有參數(shù)提供特定的 JDBC 類型時(shí),為空值指定 JDBC 類型。某些驅(qū)動(dòng)需要指定列的 JDBC 類型,多數(shù)情況直接用一般類型即可,比如 NULL、VARCHAR 或 OTHER常用 NUL、VARCHAR、OTHEROTHER
lazyLoadTriggeerMethods指定哪個(gè)對(duì)象的方法觸發(fā)一次延遲加載配置需要觸發(fā)延遲加載的方法的名字,該方法就會(huì)觸發(fā)一次延遲加載一個(gè)逗號(hào)分隔的方法名稱列表

equals, clone,

hashCode, toString

defaultScriptingLanguage動(dòng)態(tài) sql 默認(rèn)語(yǔ)言指定動(dòng)態(tài) sql 生成的默認(rèn)語(yǔ)言一個(gè)類型的的別名或者一個(gè)類的全類名

org.apache.ibatis.

scripting.xmltargs.

XMLLanguageDriver

callSettersOnNulls是否在空值情況下調(diào)用 Set 方法指定當(dāng)結(jié)果集中的值為 null 時(shí)是否調(diào)用映射對(duì)像的 setter (map 對(duì)象為 put)方法,這對(duì)于有 Map.keySet() 依賴或 null 值初始化是有用的。注意基本類型不能設(shè)置為 nulltrue | falsefalse
returnInstanceForEmptyRow返回空實(shí)體集對(duì)象當(dāng)返回行的所有列都是空時(shí),MyBatis 默認(rèn)返回 null。當(dāng)開(kāi)啟這個(gè)設(shè)置時(shí),MyBatis 會(huì)返回一個(gè)空實(shí)例。此外,從 MyBatis 3.4.2 開(kāi)始,它也適用于嵌套的結(jié)果集true | falsefalse
logImpl日志實(shí)現(xiàn)指定 MyBatis 所用日志的具體實(shí)現(xiàn),為指定時(shí)將自動(dòng)查找SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING無(wú)
proxyFactory代理工廠指定 MyBatis 創(chuàng)建具有延遲加載能力的對(duì)象所用到的代理工具CGLIB | JAVASSISTJAVASSIST
vfsImplvfs 實(shí)現(xiàn)指定 vfs 的實(shí)現(xiàn)自定義 VFS 實(shí)現(xiàn)類的全類名,以逗號(hào)分割無(wú)
useActualParamName使用方法簽名允許使用方法簽名中的名稱作為語(yǔ)句參數(shù)名稱。要使用該特性,工程必須采用 Java8 編譯,并且加上 -parameters 選項(xiàng)(從 MyBatis 3.4.1 版本開(kāi)始)true | false

false

configurationFactory配置工廠指定提供配置實(shí)例的類。返回的配置實(shí)例用于加載反序列化的懶加載參數(shù)。這個(gè)類必須有一個(gè)簽名的靜態(tài)配置 getconfiguration() 方法(從 MyBatis 3.2.3 版本開(kāi)始)一個(gè)類型別名或者一個(gè)類的全類名無(wú)

4 typeAlianses 別名處理器

typeAliases 可以給類設(shè)置別名,這樣當(dāng)我們需要使用類時(shí),可以不用每次都寫那么復(fù)雜的全類名 (com.pojo.User)

<!--設(shè)置別名-->
<typeAliases>
    <!--對(duì)類單獨(dú)進(jìn)行別名設(shè)置  -->
    <typeAlias alias="user" type="com.pojo.User"></typeAlias>
    <typeAlias alias="student" type="com.pojo.Student"></typeAlias>
</typeAliases>

批量給類設(shè)置別名,為包中的每一個(gè)類設(shè)置別名,設(shè)置規(guī)則是:獲取類名稱,將其第一個(gè)字母變?yōu)樾?/strong>

<!--設(shè)置別名-->
<typeAliases>
    <!-- 對(duì)包進(jìn)行掃描,可以批量進(jìn)行別名設(shè)置,設(shè)置規(guī)則是:獲取類名稱,將其第一個(gè)字母變?yōu)樾?-->
    <package name="com.pojo1"/>
    <package name="com.pojo2"/>
    <package name="com.pojo3"/>
</typeAliases>

通過(guò) @Alias 注解設(shè)置別名

@Alias("user")
public class User {
    省略......
}

需要注意的是,MyBatis 已經(jīng)為某些類定義了別名,此外,別名對(duì)大小寫不敏感。對(duì)此,為某些類定義別名時(shí),不能占用已有別名

5 typeHandler 類型處理器

在 typeHandler 類型處理器中,包含 javaType 和 jdbcType 兩種類型,其中 javaType 用來(lái)定義 Java 類型,jdbcType 用來(lái)定義數(shù)據(jù)庫(kù)類型,而 typeHandler 的作用就是對(duì) javaType 和 jdbcType 兩種類型進(jìn)行轉(zhuǎn)換,如下圖所示:

下圖是 MyBatis 已經(jīng)定義好的部分類型處理器,當(dāng)然,我們也可以自定義類型處理器,此處不做介紹

6 objectFacotry 對(duì)象工廠(了解)

objectFacotry 表示為對(duì)象工廠。對(duì)象工廠我們只需了解即可,因?yàn)榈綍r(shí)候與 Spring 整合后,都會(huì)由 Spring 來(lái)管理。我們知道,在 JDBC 中查詢的結(jié)果會(huì)保存在一個(gè)結(jié)果集中,而 MyBatis 也是這樣,它會(huì)使用其定義的對(duì)象工廠 DefaultObjectFactory 來(lái)將查詢的結(jié)果保存在結(jié)果集中。

7 plugins 插件(了解)

plugins 插件是 MyBatis 提供的一個(gè)非常強(qiáng)大的機(jī)制。通過(guò)插件,我們可以在不修改 MyBatis 核心代碼的情況下,對(duì)其核心行為進(jìn)行修改。利用動(dòng)態(tài)代理機(jī)制,插件能夠介入到四大對(duì)象(Mapper Interface、Mapped Statement、Parameter Map 和 ResultSet Handler)的任何一個(gè)方法的執(zhí)行過(guò)程中。

8 environments 運(yùn)行環(huán)境

environments 標(biāo)簽用于指定當(dāng)前運(yùn)行環(huán)境,在 MyBatis 中可以配置多種環(huán)境,比如開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境。每種環(huán)境使用一個(gè) environment 標(biāo)簽進(jìn)行配置并指定唯一標(biāo)識(shí)符,可以通過(guò) environments 標(biāo)簽中的 default 屬性指定一個(gè)環(huán)境的標(biāo)識(shí)符來(lái)快速的切換環(huán)境,environment  標(biāo)簽里面分為兩個(gè)可配置的標(biāo)簽:事務(wù)管理 (transactionManager)、數(shù)據(jù)源 (DataSource)。而在我們的日常開(kāi)發(fā)中,這些都會(huì)交給 Spring 來(lái)管理,不用在全局配置中編寫。

transactionManager

transactionManager 配置事務(wù)管理器類型,type = JDBC | MANAGED | 自定義(type=全類名或別名)

  • JDBC 使用 JdbcTransactionFactory 工廠生成的 JdbcTransaction 對(duì)象實(shí)現(xiàn),以 JDBC 的方式進(jìn)行數(shù)據(jù)庫(kù)的提交、回滾等操作,它依賴于從數(shù)據(jù)源得到的連接來(lái)管理事務(wù)范圍
  • MANAGED 使用 ManagedTransactionFactory 工廠生成的 ManagedTransaction 對(duì)象實(shí)現(xiàn),它的提交和回滾不需要任何操作,而是把事務(wù)交給容器進(jìn)行處理,默認(rèn)情況下會(huì)關(guān)閉連接,如果不希望默認(rèn)關(guān)閉,只要將其中的 closeConnection 屬性設(shè)置為 false 即可
  • 自定義的事務(wù)管理類型需要實(shí)現(xiàn) TransactionFactory 接口

DataSource

在 MyBatis 中,數(shù)據(jù)庫(kù)是通過(guò) PooledDataSourceFactory、UnpooledDataSourceFactory 和 JndiDataSourceFactory 三個(gè)工廠類來(lái)提供,前兩者分別產(chǎn)生 PooledDataSource 和 UnpooledDataSource 類對(duì)象,第三個(gè)則會(huì)根據(jù) JNDI 的信息獲得外部容器實(shí)現(xiàn)的數(shù)據(jù)庫(kù)連接對(duì)象,總之,它們最后都會(huì)生成一個(gè)實(shí)現(xiàn)了 DataSource 接口的數(shù)據(jù)庫(kù)連接對(duì)象。

type = UNPOOLED | POOLED | JNDI | 自定義

UNPOOLED

UNPOOLED 采用非數(shù)據(jù)庫(kù)池的管理方式,每次請(qǐng)求都會(huì)新建一個(gè)連接,所以性能不是很高,使用這種數(shù)據(jù)源的時(shí)候,UNPOOLED 類型的數(shù)據(jù)源可以配置以下屬性:

  • driver:數(shù)據(jù)庫(kù)驅(qū)動(dòng)名
  • url:數(shù)據(jù)庫(kù)連接 URL
  • username:用戶名
  • password:密碼
  • defaultTransactionIsolationLevel:默認(rèn)的事務(wù)隔離級(jí)別,如果要傳遞屬性給驅(qū)動(dòng),則屬性的前綴為 driver

POOLED

        POOLED 采用連接池的概念將數(shù)據(jù)庫(kù)鏈接對(duì)象 Connection 組織起來(lái),可以在初始化時(shí)創(chuàng)建多個(gè)連接,使用時(shí)直接從連接池獲取,避免了重復(fù)創(chuàng)建連接所需的初始化和認(rèn)證時(shí)間,從而提升了效率,所以這種方式比較適合對(duì)性能要求高的應(yīng)用中。除了 UNPOOLED 中的配置屬性之外,還有以下幾個(gè)修改連接池的配置:

  • poolMaximumActiveConnections:用于設(shè)置連接池中允許的最大活躍連接數(shù)。超過(guò)這個(gè)數(shù)量的連接將會(huì)被阻塞,直到有連接被釋放為止,默認(rèn)值為 10

  • poolMaxmumIdleConnections:用于設(shè)置連接池中允許的最大空閑連接數(shù)。當(dāng)連接池中的連接數(shù)量超過(guò)這個(gè)值時(shí),多余的連接將會(huì)被釋放,默認(rèn)值為 5

  • poolMaxmumCheckoutTime:用于設(shè)置連接在連接池中的最大使用時(shí)間。超過(guò)這個(gè)時(shí)間的連接將會(huì)被強(qiáng)制回收,默認(rèn)值為 20000 毫秒(即 20 秒)

  • poolTimeToWait:用于設(shè)置從連接池中獲取連接時(shí)的最大等待時(shí)間。如果在這個(gè)時(shí)間內(nèi)無(wú)法獲取到連接,將會(huì)拋出超時(shí)異常,默認(rèn)值為 20000 毫秒(即 20 秒)

JNDI

數(shù)據(jù)源 JNDI 的實(shí)現(xiàn)是為了能在如 EJB 或應(yīng)用服務(wù)器這類容器中使用,容器可以集中或在外部配置數(shù)據(jù)源,然后放置一個(gè) JNDI 上下文的引用。這種數(shù)據(jù)源只需配置兩個(gè)屬性:

  • initial_context:用來(lái)在 InitialContext 中尋找上下文??蛇x,如果忽略,data_source 屬性將會(huì)直接從 InitialContext 中尋找
  • data_source:引用數(shù)據(jù)源實(shí)例位置上下文的路徑。當(dāng)提供 initial_context 配置時(shí),data_source 會(huì)在其返回的上下文進(jìn)行查找,否則直接從 InitialContext 中查找

9 databaseIdProvider 數(shù)據(jù)庫(kù)廠商(了解)

databaseIdProvider 元素主要是為了支持不同廠商的數(shù)據(jù)庫(kù),這個(gè)元素不常用。

<!--數(shù)據(jù)庫(kù)廠商標(biāo)示 -->
<databaseIdProvider type="DB_VENDOR">
    <property name="Oracle" value="oracle"/>
    <property name="MySQL" value="mysql"/>
    <property name="DB2" value="d2"/>
</databaseIdProvider>

以下是 databaseIdProvider 中的屬性介紹:

  • Type:DB_VENDOR,使用 MyBatis 提供的 VendorDatabaseIdProvider 解析數(shù)據(jù)庫(kù)廠商標(biāo)識(shí)。也可以實(shí)現(xiàn) DatabaseIdProvider 接口來(lái)自定義
  • Property-name:數(shù)據(jù)庫(kù)廠商標(biāo)識(shí)
  • Property-value:為數(shù)據(jù)庫(kù)廠商標(biāo)識(shí)起一個(gè)別名,方便 SQL 語(yǔ)句使用 databaseId 屬性引用

設(shè)置了以上配置,我們就可以在自己的 sql 語(yǔ)句中使用屬性 databaseId 來(lái)標(biāo)示數(shù)據(jù)庫(kù)類型

<!-- 查詢所有用戶 -->
<select id="selectAllUser" resultType="com.entity.User" databaseId="oracle">
    select * from t_user
</select>

10 mapper 加載 SQL 映射文件

mapper 用來(lái)加載配置的 SQL 映射文件,它有以下四種加載方式:

  • 用文件路徑引入
  • 使用 URL 方式引入
  • 用類注冊(cè)引入
  • 用包名引入(推薦)
<mappers>
    <!-- 用文件路徑引入,這種方式是相對(duì)路徑,相對(duì)于項(xiàng)目目錄下 -->
    <mapper resource="com/mapper/UserMapper.xml" />

    <!-- 使用 URL 方式引入,這種方式是絕對(duì)路徑,
    就是從我們的磁盤讀取映射文件,一般不會(huì)使用這種方式 -->
    <mapper url="D:/xxx/com/mapper/UserMapper.xml" />

    <!-- 用類注冊(cè)引入,若使用這種方式,Mapper接口的名稱必須與映射文件的名稱相同,
    并且要在同一個(gè)包名下,否則會(huì)找不到。如:UserMapper.java(接口)—UserMapper.xml(映射文件) -->
    <mapper class="com.mapper.UserMapper" />

    <!-- 用包名引入(推薦),這種方式的要求同樣是Mapper接口和Mapper的映射文件的名稱要相同,
    并且要放在相同的包名下,否則會(huì)導(dǎo)致找不到 -->
    <package name="com.mapper"/>
</mappers>

11 參考文檔

尚硅谷文檔

MyBatis 配置 setting 詳解

Mybatis3詳解(三)----Mybatis全局配置文件詳解

到此這篇關(guān)于MyBatis 全局配置文件詳解的文章就介紹到這了,更多相關(guān)MyBatis 全局配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot?的?web?類型推斷詳解

    SpringBoot?的?web?類型推斷詳解

    這篇文章主要介紹了SpringBoot?的?web?類型推斷詳解的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Java編程實(shí)現(xiàn)遍歷兩個(gè)MAC地址之間所有MAC的方法

    Java編程實(shí)現(xiàn)遍歷兩個(gè)MAC地址之間所有MAC的方法

    這篇文章主要介紹了Java編程實(shí)現(xiàn)遍歷兩個(gè)MAC地址之間所有MAC的方法,涉及Java針對(duì)MAC的遍歷獲取與字符串轉(zhuǎn)換相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • springcloud之FeignClient使用詳解

    springcloud之FeignClient使用詳解

    Feign是一種聲明式、模板化的HTTP客戶端,可以簡(jiǎn)化微服務(wù)之間的遠(yuǎn)程過(guò)程調(diào)用,通過(guò)Feign,開(kāi)發(fā)者可以像調(diào)用本地方法一樣調(diào)用遠(yuǎn)程服務(wù),而無(wú)需感知這是一個(gè)HTTP請(qǐng)求,引入Feign后,微服務(wù)之間的調(diào)用流程更加簡(jiǎn)化,結(jié)合Ribbon實(shí)現(xiàn)了路由負(fù)載、超時(shí)熔斷等功能
    2024-12-12
  • SpringBoot項(xiàng)目打成war和jar的區(qū)別說(shuō)明

    SpringBoot項(xiàng)目打成war和jar的區(qū)別說(shuō)明

    這篇文章主要介紹了SpringBoot項(xiàng)目打成war和jar的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Spring中AOP概念與兩種動(dòng)態(tài)代理模式原理詳解

    Spring中AOP概念與兩種動(dòng)態(tài)代理模式原理詳解

    AOP是面向切面編程的技術(shù),AOP基于IoC基礎(chǔ),是對(duì)OOP的有益補(bǔ)充,流行的AOP框架有Sping AOP、AspectJ,這篇文章主要給大家介紹了關(guān)于Spring中AOP概念與兩種動(dòng)態(tài)代理模式原理的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Java實(shí)現(xiàn)的圖片高質(zhì)量縮放類定義與用法示例

    Java實(shí)現(xiàn)的圖片高質(zhì)量縮放類定義與用法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的圖片高質(zhì)量縮放類定義與用法,涉及java針對(duì)圖片的運(yùn)算與轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • Maven統(tǒng)一版本管理的實(shí)現(xiàn)

    Maven統(tǒng)一版本管理的實(shí)現(xiàn)

    在使用Maven多模塊結(jié)構(gòu)工程時(shí),配置版本是一個(gè)比較頭疼的事,本文主要介紹了Maven統(tǒng)一版本管理的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • 詳解Log4j 日志文件存放位置設(shè)置

    詳解Log4j 日志文件存放位置設(shè)置

    這篇文章主要介紹了詳解Log4j 日志文件存放位置設(shè)置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Java FutureTask類使用案例解析

    Java FutureTask類使用案例解析

    這篇文章主要介紹了Java FutureTask類使用案例解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值析,需要的朋友可以參考下
    2020-04-04
  • Java的反射機(jī)制之類加載詳解

    Java的反射機(jī)制之類加載詳解

    這篇文章主要介紹了Java的反射機(jī)制之類加載詳解,反射機(jī)制是java實(shí)現(xiàn)動(dòng)態(tài)語(yǔ)言的關(guān)鍵,也就是通過(guò)反射實(shí)現(xiàn)類動(dòng)態(tài)加載,靜態(tài)加載是指在編譯時(shí)期確定要加載的類的類型,即通過(guò)class關(guān)鍵字和類名來(lái)獲取對(duì)應(yīng)類的類型,需要的朋友可以參考下
    2023-09-09

最新評(píng)論