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

java  Swing基礎(chǔ)教程之圖形化實(shí)例代碼

 更新時(shí)間:2017年02月19日 14:44:29   作者:QuinnNorris  
這篇文章主要介紹了java Swing基礎(chǔ)教程之圖形化實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

java  Swing基礎(chǔ)教程之圖形化實(shí)例代碼

與多線(xiàn)程、泛型等不同,Swing主要在于使用。

下面主要放代碼和注釋?zhuān)僬f(shuō)話(huà)。

(一)基本框架

package Swing;

import java.awt.*;
import javax.swing.*;

/**
 * 
 * @author QuinnNorris
 * 基本框架
 */
public class FrameTest {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub

    // 開(kāi)啟一個(gè)線(xiàn)程,所有的Swing組件必須由事件分派線(xiàn)程進(jìn)行配置,線(xiàn)程將鼠標(biāo)點(diǎn)擊和按鍵控制轉(zhuǎn)移到用戶(hù)接口組件。
    EventQueue.invokeLater(new Runnable() {
      // 匿名內(nèi)部類(lèi),是一個(gè)Runnable接口的實(shí)例,實(shí)現(xiàn)了run方法
      public void run() {

        SimpleFrame frame = new SimpleFrame();
        // 創(chuàng)建下面自己定義的SimpleFrame類(lèi)對(duì)象,以便于調(diào)用構(gòu)造器方法

        frame.setExtendedState(Frame.MAXIMIZED_BOTH);
        // 將窗口最大化
        // 其他可選屬性:Frame.NORMAL ICONIFIED MAXIMIZED_HORIZ MAXIMIZED_VERT
        // MAXIMIZED_BOTH

        frame.setTitle("Christmas");
        // 設(shè)置窗口標(biāo)題

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 選擇當(dāng)用戶(hù)關(guān)閉框架時(shí)進(jìn)行的操作 ,在有些時(shí)候需要將窗口隱藏,不能直接退出需要用到這個(gè)方法

        frame.setVisible(true);
        // 將窗口可見(jiàn)化,這樣以便用戶(hù)在第一次看見(jiàn)窗口之前我們能夠向其中添加內(nèi)容
      }

    });
  }
  // main結(jié)束時(shí),程序并沒(méi)有結(jié)束,而是結(jié)束了主線(xiàn)程,知道所有框架關(guān)閉或者調(diào)用了 System.exit事才終止程序
}

class SimpleFrame extends JFrame {
  public SimpleFrame() {

    Toolkit kit = Toolkit.getDefaultToolkit();
    // 修改窗口在屏幕上面的位置,改變窗口大小
    // Toolkit類(lèi)包含很多與本地窗口交互的方法

    Dimension screenSize = kit.getScreenSize();
    // Toolkit的獲取頻幕大小的方法返回一個(gè)Dimension的類(lèi)對(duì)象

    setSize((int) (screenSize.getWidth()), (int) (screenSize.getHeight()));
    // setBounds(0,0,(int)(screenSize.getWidth()),(int)(screenSize.getHeight()));
    // 定義窗口的位置和大小
    // setLocation(0,0); 定位窗口距離左上角的位置
    // setLocationByPlatform(true); 讓窗口系統(tǒng)控制窗口位置,距離上一個(gè)窗口很小的偏移量

    // 用圖片來(lái)替換窗口圖標(biāo)
    Image img = new ImageIcon("D:/icon.png").getImage();
    setIconImage(img);

  }
}

輸出結(jié)果:一個(gè)充滿(mǎn)整個(gè)屏幕的框體,標(biāo)題欄名字叫做Christmas,圖表是自己填充的圖片。

(二)輸出文字

package Swing;

import java.awt.*;
import javax.swing.*;

/**
 * 
 * @author QuinnNorris
 * 輸出文字
 */
public class HelloWorld {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub

    // 開(kāi)啟一個(gè)線(xiàn)程,所有的Swing組件必須由事件分派線(xiàn)程進(jìn)行配置,線(xiàn)程將鼠標(biāo)點(diǎn)擊和按鍵控制轉(zhuǎn)移到用戶(hù)接口組件
    EventQueue.invokeLater(new Runnable() {
      // 匿名內(nèi)部類(lèi),是一個(gè)Runnable接口的實(shí)例,實(shí)現(xiàn)了run方法
      public void run() {

        JFrame frame = new HelloWorldFrame();
        // HelloworldFrame在下面定義,繼承了JFrame,使用其中的構(gòu)造器方法

        frame.setTitle("HelloWrold");
        // 設(shè)置標(biāo)題

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 選擇當(dāng)用戶(hù)關(guān)閉框架時(shí)進(jìn)行的操作 ,在有些時(shí)候需要將窗口隱藏,不能直接退出需要用到這個(gè)方法

        frame.setVisible(true);
        // 將窗口可見(jiàn)化,這樣以便用戶(hù)在第一次看見(jiàn)窗口之前我們能夠向其中添加內(nèi)容
      }
    });

  }

}

// 編寫(xiě)繼承了JFrame的類(lèi),我們的工作在這里進(jìn)行
class HelloWorldFrame extends JFrame {
  public HelloWorldFrame() {

    add(new HelloWorldComponent());
    //向其中添加一個(gè)實(shí)例化的實(shí)現(xiàn)JComponent類(lèi)的子類(lèi)

    pack();
    //調(diào)用框架組件的首選大小,或者我們可以用SetSize方法來(lái)替換它
  }
}

class HelloWorldComponent extends JComponent {
  public static final int MESSAGE_X = 75;
  public static final int MESSAGE_Y = 100;

  private static final int DEFAULT_WIDTH = 300;
  private static final int DEFAULT_HEIGHT = 200;

  /**
   * 我們覆蓋了這個(gè)以用來(lái)書(shū)寫(xiě)內(nèi)容
   * 
   * @param g
   *      Graphics對(duì)象保存著用于繪制圖像和文本的設(shè)置
   */
  public void paintComponent(Graphics g) {
    g.drawString("Hello World!", MESSAGE_X, MESSAGE_Y);
    // 參數(shù):書(shū)寫(xiě)內(nèi)容,字符串中第一個(gè)字符位于從左向右75像素,字符串中第一個(gè)字符從上向下100像素
  }

  /**
   * 我們覆蓋了這個(gè)方法來(lái)表示出這個(gè)類(lèi)的組件的大小
   * 
   * @return 返回這個(gè)類(lèi)的組件本身應(yīng)該有多大
   */
  public Dimension getPreferredSize() {
    return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    // 返回一個(gè)Dimension對(duì)象,表示這個(gè)組件的大小
  }
}

輸出結(jié)果:位于左上角的名字叫做HelloWrold的小窗口,在窗口中部有“Hello World!”字樣。

(三)打印圖形

package Swing;

import java.awt.EventQueue;

import javax.swing.*;

import java.awt.*;
import java.awt.geom.*;

/**
 * 
 * @author QuinnNorris
 * 打印圖形
 */
public class DrawTest {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub

    // 開(kāi)啟一個(gè)線(xiàn)程,所有的Swing組件必須由事件分派線(xiàn)程進(jìn)行配置,線(xiàn)程將鼠標(biāo)點(diǎn)擊和按鍵控制轉(zhuǎn)移到用戶(hù)接口組件。
    EventQueue.invokeLater(new Runnable()
    {
      // 匿名內(nèi)部類(lèi),是一個(gè)Runnable接口的實(shí)例,實(shí)現(xiàn)了run方法
      public void run(){

        JFrame frame = new DrawFrame();
        // 創(chuàng)建下面自己定義的SimpleFrame類(lèi)對(duì)象,以便于調(diào)用構(gòu)造器方法

        frame.setTitle("DrawTest");
        // 設(shè)置標(biāo)題

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 選擇當(dāng)用戶(hù)關(guān)閉框架的時(shí)候進(jìn)行的操作 ,在有些時(shí)候需要將窗口隱藏,不能直接退出需要用到這個(gè)方法

        frame.setVisible(true);
        // 將窗口可見(jiàn)化,這樣以便用戶(hù)在第一次看見(jiàn)窗口之前我們能夠向其中添加內(nèi)容
      }
    });
  }

}


class DrawFrame extends JFrame
{
  public DrawFrame(){

    add(new DrawComponent());
    //向其中添加一個(gè)實(shí)例化的實(shí)現(xiàn)JComponent類(lèi)的子類(lèi)

    pack();
    //調(diào)用框架組件的首選大小,或者我們可以用SetSize方法來(lái)替換它
  }
}

class DrawComponent extends JComponent
{
  private static final int DEFAULT_WIDTH = 400;
  private static final int DEFAULT_HEIGHT = 400;

  /**
   * 我們覆蓋了這個(gè)以用來(lái)打印圖形
   * 
   * @param g
   *      Graphics對(duì)象是我們需要用的Graphics2D的父類(lèi)
   */
  public void paintComponent(Graphics g){

    Graphics2D g2 = (Graphics2D)g;
    //實(shí)例化Graphics2D這個(gè)類(lèi)的對(duì)象,他是參數(shù)Graphics2D的一個(gè)子類(lèi)

    double leftX = 100;
    double topY = 100;
    double width = 200;
    double height = 150;
    //我們?cè)O(shè)置矩形的四個(gè)屬性

    Rectangle2D rect = new Rectangle2D.Double(leftX,topY,width,height);
    //創(chuàng)建一個(gè)Rectangle2D的對(duì)象,這個(gè)對(duì)象繼承了Sharp接口
    //Double是其中的一個(gè)靜態(tài)內(nèi)部類(lèi),當(dāng)我們初始化時(shí)需要在Double中設(shè)置參數(shù)

    g2.draw(rect);
    //傳入一個(gè)實(shí)現(xiàn)Sharp接口的實(shí)例,并在畫(huà)布上畫(huà)出

    Ellipse2D ellipse = new Ellipse2D.Double();
    //創(chuàng)建一個(gè)橢圓的實(shí)例

    ellipse.setFrame(rect);
    //橢圓和矩形類(lèi)是兄弟關(guān)系,因?yàn)樗麄冇兄嗤倪吔缗袛喾绞?
    //這里我們直接用rect來(lái)對(duì)橢圓形進(jìn)行描述(通過(guò)橢圓的外接矩形)

    g2.draw(ellipse);
    //傳入一個(gè)實(shí)現(xiàn)Sharp接口的實(shí)例,并在畫(huà)布上畫(huà)出

    g2.draw(new Line2D.Double(leftX,topY,leftX+width,topY+height));
    //在畫(huà)布上畫(huà)出一條直線(xiàn)

    double centerX = rect.getCenterX();
    double centerY = rect.getCenterY();
    double radius = 150;
    //定義圓心坐標(biāo)和半徑

    Ellipse2D circle = new Ellipse2D.Double();
    //創(chuàng)建一個(gè)圓的實(shí)例
    circle.setFrameFromCenter(centerX, centerY, centerX+radius, centerY+radius);
    //設(shè)置坐標(biāo)和半徑
    g2.draw(circle);
    //在畫(huà)布上畫(huà)出一個(gè)圓
  }

  /**
   * 我們覆蓋了這個(gè)方法來(lái)表示出這個(gè)類(lèi)的組件的大小
   * 
   * @return 返回這個(gè)類(lèi)的組件本身應(yīng)該有多大
   */
  public Dimension getPreferredSize(){
    return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);
    // 返回一個(gè)Dimension對(duì)象,表示這個(gè)組件的大小
  }
}

輸出結(jié)果:左上角的窗口中有一個(gè)橢圓,外面有一個(gè)外界矩形,有一條從矩形左上角到右下角的直線(xiàn),以這個(gè)矩形中心為原點(diǎn)有一個(gè)半徑為150像素的圓。

(四)圖形上色

Rectangle2D rect = new Rectangle2D.Double(leftX,topY,width,height);
//創(chuàng)建一個(gè)Rectangle2D的對(duì)象,這個(gè)對(duì)象繼承了Sharp接口
//Double是其中的一個(gè)靜態(tài)內(nèi)部類(lèi),當(dāng)我們初始化時(shí)需要在Double中設(shè)置參數(shù)

g2.setColor(Color.BLUE);
//為g2對(duì)象設(shè)置一種填充顏色,會(huì)影響線(xiàn)條顏色

g2.fill(rect);
//將我們選擇的顏色填充到rect表示的封閉圖形中

g2.draw(rect);
//傳入一個(gè)實(shí)現(xiàn)Sharp接口的實(shí)例,并在畫(huà)布上畫(huà)出

在上一個(gè)代碼其他部分不改變的情況下,插入這樣兩行代碼(在1,4行代碼的原位置中間插入2,3行代碼)。得到上色效果。

輸出結(jié)果:中間為藍(lán)色矩形,以矩形中心為原點(diǎn),150像素為半徑有個(gè)藍(lán)色線(xiàn)條的圓形。

(五)特殊字體

package Swing;

import javax.swing.*;
import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;

/**
 * 
 * @author QuinnNorris 特殊字體
 */
public class FontTest {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub

    // 開(kāi)啟一個(gè)線(xiàn)程,所有的Swing組件必須由事件分派線(xiàn)程進(jìn)行配置,線(xiàn)程將鼠標(biāo)點(diǎn)擊和按鍵控制轉(zhuǎn)移到用戶(hù)接口組件。
    EventQueue.invokeLater(new Runnable() {
      // 匿名內(nèi)部類(lèi),是一個(gè)Runnable接口的實(shí)例,實(shí)現(xiàn)了run方法
      public void run() {
        JFrame frame = new FontFrame();
        // 創(chuàng)建下面自己定義的SimpleFrame類(lèi)對(duì)象,以便于調(diào)用構(gòu)造器方法

        frame.setTitle("FontTest");
        // 設(shè)置標(biāo)題

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 選擇當(dāng)用戶(hù)關(guān)閉框架的時(shí)候進(jìn)行的操作 ,在有些時(shí)候需要將窗口隱藏,不能直接退出需要用到這個(gè)方法

        frame.setVisible(true);
        // 將窗口可見(jiàn)化,這樣以便用戶(hù)在第一次看見(jiàn)窗口之前我們能夠向其中添加內(nèi)容
      }
    });
  }

}

class FontFrame extends JFrame {
  public FontFrame() {
    add(new FontComponent());
    // 向其中添加一個(gè)實(shí)例化的實(shí)現(xiàn)JComponent類(lèi)的子類(lèi)

    pack();
    // 調(diào)用框架組件的首選大小,或者我們可以用SetSize方法來(lái)替換它
  }
}

class FontComponent extends JComponent {
  private static final int DEFAULT_WIDTH = 300;
  private static final int DEFAULT_HEIGHT = 200;

  /**
   * 我們覆蓋了這個(gè)以用來(lái)做一些工作
   * 
   * @param g
   *      Graphics對(duì)象是我們需要用的Graphics2D的父類(lèi)
   */
  public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    // 實(shí)例化Graphics2D這個(gè)類(lèi)的對(duì)象,他是參數(shù)Graphics2D的一個(gè)子類(lèi)

    String message = "Hello World!";
    // 寫(xiě)出我們要操作的文字

    Font f = new Font("Dialog", Font.BOLD, 36);
    // 創(chuàng)建一個(gè)字體類(lèi)型,參數(shù)包括字體族,風(fēng)格類(lèi)型,大小
    // 也可以通過(guò)特殊的方法,調(diào)用加載得到本地的字體包

    g2.setFont(f);
    // 將f設(shè)置在g2之中

    FontRenderContext context = g2.getFontRenderContext();
    // 通過(guò)調(diào)用方法,得到屏幕設(shè)備字體屬性的描述對(duì)象

    Rectangle2D bounds = f.getStringBounds(message, context);
    // getStringBounds方法返回一個(gè)包圍著字符串的矩形

    double x = (DEFAULT_WIDTH - bounds.getWidth()) / 2;
    // bounds.getWidth方法可以獲得字符串的寬度

    double y = (DEFAULT_HEIGHT - bounds.getHeight()) / 2;
    // bounds.getHeight方法可以獲得字符串的高度

    double ascent = -bounds.getY();
    // 獲得字體的上坡度

    double baseY = y + ascent;
    // 文字的基線(xiàn)位置

    g2.drawString(message, (int) x, (int) y);
    // 設(shè)置字符串位置

    g2.setPaint(Color.LIGHT_GRAY);
    // 設(shè)置線(xiàn)條顏色為亮灰色

    g2.draw(new Line2D.Double(x, baseY, x + bounds.getWidth(), baseY));
    // 在文字的基線(xiàn)上畫(huà)下一條橫線(xiàn)

    Rectangle2D rect = new Rectangle2D.Double(x, y, bounds.getWidth(),
        bounds.getHeight());

    g2.draw(rect);
  }

  /**
   * 我們覆蓋了這個(gè)方法來(lái)表示出這個(gè)類(lèi)的組件的大小
   * 
   * @return 返回這個(gè)類(lèi)的組件本身應(yīng)該有多大
   */
  public Dimension getPreferredSize() {
    return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    // 返回一個(gè)Dimension對(duì)象,表示這個(gè)組件的大小
  }
}

輸出結(jié)果:窗口正中間有文字“Hello World”,外圍被一個(gè)灰色矩形包括,在基線(xiàn)的地方有一條橫線(xiàn)分割。

(六)添加圖片

package Swing;

import javax.swing.*;
import java.awt.*;

/**
 * 
 * @author QuinnNorris 添加圖片
 */
public class ImageTest {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub

    // 開(kāi)啟一個(gè)線(xiàn)程,所有的Swing組件必須由事件分派線(xiàn)程進(jìn)行配置,線(xiàn)程將鼠標(biāo)點(diǎn)擊和按鍵控制轉(zhuǎn)移到用戶(hù)接口組件。
    EventQueue.invokeLater(new Runnable() {
      // 匿名內(nèi)部類(lèi),是一個(gè)Runnable接口的實(shí)例,實(shí)現(xiàn)了run方法
      public void run() {
        JFrame frame = new ImageFrame();
        // 創(chuàng)建下面自己定義的SimpleFrame類(lèi)對(duì)象,以便于調(diào)用構(gòu)造器方法

        frame.setTitle("ImageTest");
        // 設(shè)置標(biāo)題

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 選擇當(dāng)用戶(hù)關(guān)閉框架的時(shí)候進(jìn)行的操作 ,在有些時(shí)候需要將窗口隱藏,不能直接退出需要用到這個(gè)方法

        frame.setVisible(true);
        // 將窗口可見(jiàn)化,這樣以便用戶(hù)在第一次看見(jiàn)窗口之前我們能夠向其中添加內(nèi)容
      }
    });
  }

}

class ImageFrame extends JFrame {
  public ImageFrame() {
    add(new ImageComponent());
    // 向其中添加一個(gè)實(shí)例化的實(shí)現(xiàn)JComponent類(lèi)的子類(lèi)

    pack();
    // 調(diào)用框架組件的首選大小,或者我們可以用SetSize方法來(lái)替換它
  }
}

class ImageComponent extends JComponent {

  private static final int DEFAULT_WIDTH = 300;
  private static final int DEFAULT_HEIGHT = 200;

  private Image image;

  /**
   * ImageComponent的構(gòu)造函數(shù),用來(lái)實(shí)例化圖片
   */
  public ImageComponent(){
    image = new ImageIcon("D:/image.jpg").getImage();
    //通過(guò)路徑得到圖片
  }

  /**
   * 我們覆蓋了這個(gè)以用來(lái)做一些工作
   * 
   * @param g
   *      
   */
  public void paintComponent(Graphics g) {
    if(image == null ) return;
    //如果圖片不正確,則直接返回避免發(fā)生錯(cuò)誤

    g.drawImage(image, 0,0,null);
    //在畫(huà)布上給出圖片
  }

  /**
   * 我們覆蓋了這個(gè)方法來(lái)表示出這個(gè)類(lèi)的組件的大小
   * 
   * @return 返回這個(gè)類(lèi)的組件本身應(yīng)該有多大
   */
  public Dimension getPreferredSize() {
    return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    // 返回一個(gè)Dimension對(duì)象,表示這個(gè)組件的大小
  }
}

輸出結(jié)果:在畫(huà)布以左上角為開(kāi)始放置你添加的圖片。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 一文帶你了解Java中的SPI機(jī)制

    一文帶你了解Java中的SPI機(jī)制

    SPI 全稱(chēng)是 Service Provider Interface,是一種 JDK 內(nèi)置的動(dòng)態(tài)加載實(shí)現(xiàn)擴(kuò)展點(diǎn)的機(jī)制,本文主要為大家介紹了SPI機(jī)制的原理與使用,需要的可以參考一下
    2023-04-04
  • Java Math.round函數(shù)詳解

    Java Math.round函數(shù)詳解

    這篇文章主要介紹了Java Math.round函數(shù)詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Spring-boot集成pg、mongo多數(shù)據(jù)源過(guò)程詳解

    Spring-boot集成pg、mongo多數(shù)據(jù)源過(guò)程詳解

    這篇文章主要介紹了Spring-boot集成pg、mongo多數(shù)據(jù)源過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Spring使用@Autowired注解實(shí)現(xiàn)自動(dòng)裝配方式

    Spring使用@Autowired注解實(shí)現(xiàn)自動(dòng)裝配方式

    這篇文章主要介紹了Spring使用@Autowired注解實(shí)現(xiàn)自動(dòng)裝配方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實(shí)現(xiàn)將數(shù)組的元素用逗號(hào)連接的多種方法

    Java實(shí)現(xiàn)將數(shù)組的元素用逗號(hào)連接的多種方法

    在 Java 開(kāi)發(fā)中,我們經(jīng)常需要將數(shù)組中的元素用逗號(hào)連接成一個(gè)字符串,這種需求在日志記錄、數(shù)據(jù)導(dǎo)出、API 響應(yīng)等場(chǎng)景中非常常見(jiàn),本文將詳細(xì)介紹如何在 Java 中實(shí)現(xiàn)這一功能,并提供多種簡(jiǎn)潔的方法和優(yōu)化建議,需要的朋友可以參考下
    2025-01-01
  • 解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected type錯(cuò)誤

    解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected

    這篇文章主要介紹了解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected type錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 詳解Springboot自定義異常處理

    詳解Springboot自定義異常處理

    本篇文章主要介紹了詳解Springboot自定義異常處理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • JVM進(jìn)程緩存Caffeine的使用

    JVM進(jìn)程緩存Caffeine的使用

    本文主要介紹了JVM進(jìn)程緩存Caffeine的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • SpringBoot集成阿里云OSS圖片上傳

    SpringBoot集成阿里云OSS圖片上傳

    這篇文章主要為大家詳細(xì)介紹了SpringBoot集成阿里云OSS圖片上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Spring使用注解實(shí)現(xiàn)Bean的自動(dòng)裝配

    Spring使用注解實(shí)現(xiàn)Bean的自動(dòng)裝配

    大家好,本篇文章主要講的是Spring使用注解實(shí)現(xiàn)Bean的自動(dòng)裝配,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02

最新評(píng)論

土默特左旗| 商城县| 蓝田县| 闻喜县| 时尚| 临朐县| 中宁县| 怀化市| 女性| 昔阳县| 蚌埠市| 惠水县| 阿克| 彝良县| 扬州市| 建阳市| 怀远县| 乌兰察布市| 息烽县| 崇明县| 南投市| 阿拉善右旗| 涞源县| 自贡市| 成安县| 临江市| 长泰县| 翁源县| 五家渠市| 临颍县| 松潘县| 洛扎县| 龙胜| 金塔县| 安新县| 鲁山县| 永福县| 申扎县| 德化县| 大同市| 金堂县|