最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于SpringBoot整合SSMP的詳細(xì)教程

 更新時間:2022年08月09日 15:15:42   作者:十八歲討厭編程  
這篇文章主要介紹了SpringBoot整合SSMP的詳細(xì)教程,通過本文學(xué)習(xí)基于SpringBoot實現(xiàn)SSMP整合的詳細(xì)代碼,需要的朋友可以參考下

基于SpringBoot實現(xiàn)SSMP整合

SpringBoot之所以好用,就是它能方便快捷的整合其他技術(shù),這里我們先介紹四種技術(shù)的整合:

  • 整合JUnit
  • 整合MyBatis
  • 整合MyBatis-Plus
  • 整合Druid

整合JUnit

? SpringBoot技術(shù)的定位用于簡化開發(fā),再具體點是簡化Spring程序的開發(fā)。所以在整合任意技術(shù)的時候,如果你想直觀感觸到簡化的效果,你必須先知道使用非SpringBoot技術(shù)時對應(yīng)的整合是如何做的,然后再看基于SpringBoot的整合是如何做的,才能比對出來簡化在了哪里。

? 我們先來看一下不使用SpringBoot技術(shù)時,Spring整合JUnit的制作方式

//加載spring整合junit專用的類運行器
@RunWith(SpringJUnit4ClassRunner.class)
//指定對應(yīng)的配置信息
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTestCase {
    //注入你要測試的對象
    @Autowired
    private AccountService accountService;
    @Test
    public void testGetById(){
        //執(zhí)行要測試的對象對應(yīng)的方法
        System.out.println(accountService.findById(2));
    }
}

?其中核心代碼是前兩個注解

第一個注解@RunWith是設(shè)置Spring專用的測試類運行器,簡單說就是Spring程序執(zhí)行程序有自己的一套獨立的運行程序的方式,不能使用JUnit提供的類運行方式了,必須指定一下,但是格式是固定的,琢磨一下,每次都指定一樣的東西,這個東西寫起來沒有技術(shù)含量啊

第二個注解@ContextConfiguration是用來設(shè)置Spring核心配置文件或配置類的,簡單說就是加載Spring的環(huán)境你要告訴Spring具體的環(huán)境配置是在哪里寫的,雖然每次加載的文件都有可能不同,但是仔細(xì)想想,如果文件名是固定的,這個貌似也是一個固定格式。既然有可能是固定格式,那就有可能每次都寫一樣的東西,也是一個沒有技術(shù)含量的內(nèi)容書寫

SpringBoot就抓住上述兩條沒有技術(shù)含量的內(nèi)容書寫進(jìn)行開發(fā)簡化,能走默認(rèn)值的走默認(rèn)值,能不寫的就不寫,具體格式如下:

@SpringBootTest
class Springboot04JunitApplicationTests {
    //注入你要測試的對象
    @Autowired
    private BookDao bookDao;
    @Test
    void contextLoads() {
        //執(zhí)行要測試的對象對應(yīng)的方法
        bookDao.save();
        System.out.println("two...");
    }
}

? 看看這次簡化成什么樣了,一個注解就搞定了,而且還沒有參數(shù),再體會SpringBoot整合其他技術(shù)的優(yōu)勢在哪里,就兩個字——簡化。使用一個注解@SpringBootTest替換了前面兩個注解。至于內(nèi)部是怎么回事?和之前一樣,只不過都走默認(rèn)值。

? 這個時候有人就問了,你加載的配置類或者配置文件是哪一個?就是我們前面啟動程序使用的引導(dǎo)類。如果想手工指定引導(dǎo)類有兩種方式,第一種方式使用屬性的形式進(jìn)行,在注解@SpringBootTest中添加classes屬性指定配置類:

@SpringBootTest(classes = 引導(dǎo)類的名字.class)
class Springboot04JunitApplicationTests {
    //注入你要測試的對象
    @Autowired
    private BookDao bookDao;
    @Test
    void contextLoads() {
        //執(zhí)行要測試的對象對應(yīng)的方法
        bookDao.save();
        System.out.println("two...");
    }
}

第二種方式回歸原始配置方式,仍然使用@ContextConfiguration注解進(jìn)行,效果是一樣的:

@SpringBootTest
@ContextConfiguration(classes = Springboot04JunitApplication.class)
class Springboot04JunitApplicationTests {
    //注入你要測試的對象
    @Autowired
    private BookDao bookDao;
    @Test
    void contextLoads() {
        //執(zhí)行要測試的對象對應(yīng)的方法
        bookDao.save();
        System.out.println("two...");
    }
}

溫馨提示
使用SpringBoot整合JUnit需要保障導(dǎo)入test對應(yīng)的starter,由于初始化項目時此項是默認(rèn)導(dǎo)入的,所以此處沒有提及

總結(jié)

  • 導(dǎo)入測試對應(yīng)的starter
  • 測試類使用@SpringBootTest修飾
  • 使用自動裝配的形式添加要測試的對象
  • 測試類如果存在于引導(dǎo)類所在包或子包中無需指定引導(dǎo)類
  • 測試類如果不存在于引導(dǎo)類所在的包或子包中需要通過classes屬性指定引導(dǎo)類

整合MyBatis

老規(guī)矩我們還是先寫一下原始整合方案:

導(dǎo)入坐標(biāo),MyBatis坐標(biāo)不能少,Spring整合MyBatis還有自己專用的坐標(biāo),此外Spring進(jìn)行數(shù)據(jù)庫操作的jdbc坐標(biāo)是必須的,剩下還有mysql驅(qū)動坐標(biāo),本例中使用了Druid數(shù)據(jù)源,這個倒是可以不要

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.16</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
    <!--1.導(dǎo)入mybatis與spring整合的jar包-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.3.0</version>
    </dependency>
    <!--導(dǎo)入spring操作數(shù)據(jù)庫必選的包-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.2.10.RELEASE</version>
    </dependency>
</dependencies>

Spring核心配置

@Configuration
@ComponentScan("com.nefu")
@PropertySource("jdbc.properties")
public class SpringConfig {
}

MyBatis要交給Spring接管的bean

//定義mybatis專用的配置類
@Configuration
public class MyBatisConfig {
//    定義創(chuàng)建SqlSessionFactory對應(yīng)的bean
    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
        //SqlSessionFactoryBean是由mybatis-spring包提供的,專用于整合用的對象
        SqlSessionFactoryBean sfb = new SqlSessionFactoryBean();
        //設(shè)置數(shù)據(jù)源替代原始配置中的environments的配置
        sfb.setDataSource(dataSource);
        //設(shè)置類型別名替代原始配置中的typeAliases的配置
        sfb.setTypeAliasesPackage("com.nefu.domain");
        return sfb;
    }
//    定義加載所有的映射配置
    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer(){
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setBasePackage("com.nefu.dao");
        return msc;
    }

}

數(shù)據(jù)源對應(yīng)的bean,此處使用Druid數(shù)據(jù)源

@Configuration
public class JdbcConfig {
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String userName;
    @Value("${jdbc.password}")
    private String password;

    @Bean("dataSource")
    public DataSource dataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }
}

數(shù)據(jù)庫連接信息(properties格式)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_db?useSSL=false
jdbc.username=root
jdbc.password=*********

上述格式基本上是最簡格式了,要寫的東西還真不少。

這里是最簡格式,所以我們沒有寫業(yè)務(wù)層,我們測試的時候直接通過dao的自動生成對象去操作數(shù)據(jù)庫

下面看看SpringBoot整合MyBaits格式:
步驟①:創(chuàng)建模塊

步驟②:勾選要使用的技術(shù),MyBatis,由于要操作數(shù)據(jù)庫,還要勾選對應(yīng)數(shù)據(jù)庫

? 或者手工導(dǎo)入對應(yīng)技術(shù)的starter,和對應(yīng)數(shù)據(jù)庫的坐標(biāo)

<dependencies>
    <!--1.導(dǎo)入對應(yīng)的starter-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

步驟③:配置數(shù)據(jù)源相關(guān)信息,沒有這個信息你連接哪個數(shù)據(jù)庫都不知道

#2.配置相關(guān)信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: ****************

? 結(jié)束了,對,這就結(jié)束了,SpringBoot把配置中所有可能出現(xiàn)的通用配置都簡化了。下面寫一個MyBatis程序運行需要的Dao(或者M(jìn)apper)就可以運行了

實體類

public class Book {
    private Integer id;
    private String type;
    private String name;
    private String description;

	······
}

映射接口(Dao)

@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);
}

測試類

@SpringBootTest
class Springboot05MybatisApplicationTests {
    @Autowired
    private BookDao bookDao;
    @Test
    void contextLoads() {
        System.out.println(bookDao.getById(1));
    }
}

結(jié)果:

? 注意:當(dāng)前使用的SpringBoot版本是2.5.4,對應(yīng)的坐標(biāo)設(shè)置中Mysql驅(qū)動使用的是8x版本。使用SpringBoot2.4.3(不含)之前版本會出現(xiàn)一個小BUG,就是MySQL驅(qū)動升級到8以后要求強(qiáng)制配置時區(qū),如果不設(shè)置會出問題。解決方案很簡單,驅(qū)動url上面添加上對應(yīng)設(shè)置就行了

#2.配置相關(guān)信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
    username: root
    password: ********

? 這里設(shè)置的UTC是全球標(biāo)準(zhǔn)時間,你也可以理解為是英國時間,中國處在東八區(qū),需要在這個基礎(chǔ)上加上8小時,這樣才能和中國地區(qū)的時間對應(yīng)的,也可以修改配置為Asia/Shanghai,同樣可以解決這個問題。

#2.配置相關(guān)信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=Asia/Shanghai
    username: root
    password: *********

? 如果不想每次都設(shè)置這個東西,也可以去修改mysql中的配置文件mysql.ini,在mysqld項中添加default-time-zone=+8:00也可以解決這個問題。其實方式方法很多,這里就說這么多吧。

? 此外在運行程序時還會給出一個提示,說數(shù)據(jù)庫驅(qū)動過時的警告,根據(jù)提示修改配置即可,棄用com.mysql.jdbc.Driver,換用com.mysql.cj.jdbc.Driver。前面的例子中已經(jīng)更換了驅(qū)動了,在此說明一下。

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

總結(jié)

  • 整合操作需要勾選MyBatis技術(shù),也就是導(dǎo)入MyBatis對應(yīng)的starter
  • 數(shù)據(jù)庫連接相關(guān)信息轉(zhuǎn)換成配置
  • 數(shù)據(jù)庫SQL映射需要添加@Mapper被容器識別到
  • MySQL 8.X驅(qū)動強(qiáng)制要求設(shè)置時區(qū)
  • 修改url,添加serverTimezone設(shè)定
  • 修改MySQL數(shù)據(jù)庫配置
  • 驅(qū)動類過時,提醒更換為com.mysql.cj.jdbc.Driver

整合MyBatis-Plus

經(jīng)過前面兩種技術(shù)的整合,我們發(fā)現(xiàn)第三方技術(shù)的整合無非就是兩步:

  • 導(dǎo)入對應(yīng)技術(shù)的starter坐標(biāo)
  • 根據(jù)對應(yīng)技術(shù)的要求做配置

接下來在MyBatis的基礎(chǔ)上再升級一下,整合MyBaitsPlus(簡稱MP)

步驟①:導(dǎo)入對應(yīng)的starter

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3</version>
</dependency>

? 關(guān)于這個坐標(biāo),此處要說明一點,之前我們看的starter都是spring-boot-starter-???,也就是說都是下面的格式

Spring-boot-start-***

? 而MyBatis與MyBatisPlus這兩個坐標(biāo)的名字書寫比較特殊,是第三方技術(shù)名稱在前,boot和starter在后。此處簡單提一下命名規(guī)范,后期原理篇會再詳細(xì)講解

starter所屬命名規(guī)則示例
官方提供spring-boot-starter-技術(shù)名稱spring-boot-starter-web
spring-boot-starter-test
第三方提供第三方技術(shù)名稱-spring-boot-startermybatis-spring-boot-starter
druid-spring-boot-starter
第三方提供第三方技術(shù)名稱-boot-starter(第三方技術(shù)名稱過長,簡化命名)mybatis-plus-boot-starter

溫馨提示

? 有些小伙伴在創(chuàng)建項目時想通過勾選的形式找到這個名字,別翻了,沒有。截止目前,SpringBoot官網(wǎng)還未收錄此坐標(biāo),而我們Idea創(chuàng)建模塊時讀取的是SpringBoot官網(wǎng)的Spring Initializr,所以也沒有。如果換用阿里云的url創(chuàng)建項目可以找到對應(yīng)的坐標(biāo)。

步驟②:配置數(shù)據(jù)源相關(guān)信息

#2.配置相關(guān)信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: root

? 沒了,就這么多,剩下的就是寫MyBaitsPlus的程序了

映射接口(Dao)

@Mapper
public interface BookDao extends BaseMapper<Book> {
}

? 核心在于Dao接口繼承了一個BaseMapper的接口,這個接口中幫助開發(fā)者預(yù)定了若干個常用的API接口,簡化了通用API接口的開發(fā)工作。

溫馨提示

目前數(shù)據(jù)庫的表名定義規(guī)則是tbl_模塊名稱,為了能和實體類相對應(yīng),需要做一個配置,相關(guān)知識我前面mybatis-plus的文章中已經(jīng)有詳細(xì)解釋,此處僅給出解決方案。配置application.yml文件,添加如下配置即可,設(shè)置所有表名的通用前綴名

mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_		#設(shè)置所有表的通用前綴名稱為tbl_

總結(jié)

  • 手工添加MyBatis-Plus對應(yīng)的starter
  • 數(shù)據(jù)層接口使用BaseMapper簡化開發(fā)
  • 需要使用的第三方技術(shù)無法通過勾選確定時,需要手工添加坐標(biāo) 整合Druid

前面整合MyBatis和MyBatisPlus的時候,使用的數(shù)據(jù)源對象都是SpringBoot默認(rèn)的數(shù)據(jù)源對象,下面我們手工控制一下,自己指定了一個數(shù)據(jù)源對象,Druid。

? 在沒有指定數(shù)據(jù)源時,我們的配置如下:

#2.配置相關(guān)信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=Asia/Shanghai
    username: root
    password: root

? 此時雖然沒有指定數(shù)據(jù)源,但是根據(jù)SpringBoot的德行,肯定幫我們選了一個它認(rèn)為最好的數(shù)據(jù)源對象,這就是HiKari。通過啟動日志可以查看到對應(yīng)的身影。

2021-11-29 09:39:15.202  INFO 12260 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-11-29 09:39:15.208  WARN 12260 --- [           main] com.zaxxer.hikari.util.DriverDataSource  : Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
2021-11-29 09:39:15.551  INFO 12260 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.

? 上述信息中每一行都有HiKari的身影,如果需要更換數(shù)據(jù)源,其實只需要兩步即可。

  • 導(dǎo)入對應(yīng)的技術(shù)坐標(biāo)
  • 配置使用指定的數(shù)據(jù)源類型

下面就切換一下數(shù)據(jù)源對象

步驟①:導(dǎo)入對應(yīng)的坐標(biāo)(注意,是坐標(biāo),此處不是starter)

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.16</version>
    </dependency>
</dependencies>

步驟②:修改配置,在數(shù)據(jù)源配置中有一個type屬性,專用于指定數(shù)據(jù)源類型

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
    username: root
    password: *********
    type: com.alibaba.druid.pool.DruidDataSource

? 這里其實要提出一個問題的,目前的數(shù)據(jù)源配置格式是一個通用格式,不管你換什么數(shù)據(jù)源都可以用這種形式進(jìn)行配置。但是新的問題又來了,如果對數(shù)據(jù)源進(jìn)行個性化的配置,例如配置數(shù)據(jù)源對應(yīng)的連接數(shù)量,這個時候就有新的問題了。每個數(shù)據(jù)源技術(shù)對應(yīng)的配置名稱都一樣嗎?肯定不是啊,各個廠商不可能提前商量好都寫一樣的名字啊,怎么辦?就要使用專用的配置格式了。這個時候上面這種通用格式就不能使用了,怎么辦?還能怎么辦?按照SpringBoot整合其他技術(shù)的通用規(guī)則來套啊,導(dǎo)入對應(yīng)的starter,進(jìn)行相應(yīng)的配置即可。

步驟①:導(dǎo)入對應(yīng)的starter

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.2.6</version>
    </dependency>
</dependencies>

步驟②:修改配置

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
      username: root
      password: *************

? 注意觀察,配置項中,在datasource下面并不是直接配置url這些屬性的,而是先配置了一個druid節(jié)點,然后再配置的url這些東西。言外之意,url這個屬性是druid下面的屬性,那你能想到什么?除了這4個常規(guī)配置外,還有druid專用的其他配置。通過提示功能可以打開druid相關(guān)的配置查閱

與druid相關(guān)的配置超過200條以上,這就告訴你,如果想做druid相關(guān)的配置,使用這種格式就可以了,這里就不展開描述了,太多了。

? 這是我們做的第4個技術(shù)的整合方案,還是那兩句話:導(dǎo)入對應(yīng)starter,使用對應(yīng)配置。沒了,SpringBoot整合其他技術(shù)就這么簡單粗暴。

總結(jié)

  • 整合Druid需要導(dǎo)入Druid對應(yīng)的starter
  • 根據(jù)Druid提供的配置方式進(jìn)行配置
  • 整合第三方技術(shù)通用方式
  • 導(dǎo)入對應(yīng)的starter
  • 根據(jù)提供的配置格式,配置非默認(rèn)值對應(yīng)的配置項

到此這篇關(guān)于SpringBoot如何整合SSMP的文章就介紹到這了,更多相關(guān)SpringBoot如何整合SSMP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java將文件上傳到ftp服務(wù)器

    Java將文件上傳到ftp服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了Java將文件上傳到ftp服務(wù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • springboot2如何集成ElasticSearch6.4.3

    springboot2如何集成ElasticSearch6.4.3

    這篇文章主要介紹了springboot2如何集成ElasticSearch6.4.3問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • springboot配置文件中屬性變量引用方式@@解讀

    springboot配置文件中屬性變量引用方式@@解讀

    這篇文章主要介紹了springboot配置文件中屬性變量引用方式@@解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • java實現(xiàn)插入排序算法

    java實現(xiàn)插入排序算法

    插入排序算法是一個對少量元素進(jìn)行排序的有效算法。插入排序的工作原理與打牌時整理手中的牌的做法類似,開始摸牌時,我們的左手是空的,接著一次從桌上摸起一張牌,并將它插入到左手的正確位置。
    2015-04-04
  • springcloud?eureka切換nacos的配置方法

    springcloud?eureka切換nacos的配置方法

    這篇文章主要介紹了springcloud?eureka切換nacos,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • Java微信二次開發(fā)(一) Java微信請求驗證功能

    Java微信二次開發(fā)(一) Java微信請求驗證功能

    這篇文章主要為大家詳細(xì)介紹了Java微信二次開發(fā)第一篇,Java微信請求驗證功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • java發(fā)送內(nèi)嵌圖片郵件

    java發(fā)送內(nèi)嵌圖片郵件

    這篇文章主要介紹了java發(fā)送內(nèi)嵌圖片郵件,在博客系統(tǒng)中需要郵件服務(wù)的功能,僅僅是發(fā)送文本內(nèi)容,現(xiàn)在嘗試一下發(fā)送內(nèi)嵌圖片郵件,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 淺談JVM垃圾回收有哪些常用算法

    淺談JVM垃圾回收有哪些常用算法

    今天給大家?guī)淼氖顷P(guān)于Java虛擬機(jī)的相關(guān)知識,文章圍繞著JVM垃圾回收有哪些常用算法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 基于Java編寫一個通用返回工具類Result

    基于Java編寫一個通用返回工具類Result

    Java項目搭建時,常常需要去封裝一個通用型的Result工具類,下面小編就和大家分享一個已經(jīng)封裝好的常用的返回類,希望對大家有所幫助
    2023-07-07
  • maven項目pom.xml中parent標(biāo)簽的使用小結(jié)

    maven項目pom.xml中parent標(biāo)簽的使用小結(jié)

    使用maven是為了更好的幫項目管理包依賴,maven的核心就是pom.xml,當(dāng)我們需要引入一個jar包時,在pom文件中加上就可以從倉庫中依賴到相應(yīng)的jar包,本文就來介紹一下maven項目pom.xml中parent標(biāo)簽的使用小結(jié),感興趣的可以了解一下
    2023-12-12

最新評論

梁山县| 新巴尔虎左旗| 永仁县| 依安县| 广安市| 贺兰县| 凤阳县| 塔河县| 井陉县| 商南县| 塔河县| 宜州市| 广德县| 秦安县| 武陟县| 武鸣县| 石狮市| 淮阳县| 漳州市| 朝阳县| 崇州市| 盐边县| 梁山县| 庆云县| 平江县| 个旧市| 叙永县| 金门县| 凉城县| 大厂| 丹东市| 临安市| 台江县| 施甸县| 榆中县| 石渠县| 兰溪市| 延吉市| 肇东市| 古交市| 芜湖县|