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

SpringBoot使用@PostConstruct注解導(dǎo)入配置方式

 更新時(shí)間:2021年11月29日 14:31:25   作者:張志翔  
這篇文章主要介紹了SpringBoot使用@PostConstruct注解導(dǎo)入配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用@PostConstruct注解導(dǎo)入配置

通過(guò)@PostConstruct注解能夠通過(guò)一種更友好的方式將配置進(jìn)行導(dǎo)入

代碼如下:

/**
 * 引導(dǎo)類
 *
 * @author zhangzhixiang
 * @date 2018/09/18 14:51:39
 */
@Configuration
public class BootstrapConsts {    
    @Value("${file.client.type}")
    private String fileClientType;
       
    @Value("${file.oss.endPoint}")
    private String endPoint;
 
    @Value("${file.oss.accessKeyId}")
    private String accessKeyId;
    
    @Value("${file.oss.accessKeySecret}")
    private String accessKeySecret;
 
    @Value("${file.oss.bucketName}")
    private String bucketName;
 
    @Value("${file.oss.rootDir}")
    private String rootDir;
    
    /**
     * 文件客戶端類型
     */
    public static String file_client_type;
    /**
     * OSS地址(不同服務(wù)器,地址不同)
     */
    public static String end_point;
    /**
     * OSS鍵id(去OSS控制臺(tái)獲?。?
     */
    public static String access_key_id;
    /**
     * OSS秘鑰(去OSS控制臺(tái)獲取)
     */
    public static String access_key_secret;
    /**
     * OSS桶名稱(這個(gè)是自己創(chuàng)建bucket時(shí)候的命名)
     */
    public static String bucket_name;
    /**
     * OSS根目錄
     */
    public static String root_dir;
    
    @PostConstruct
    private void initial() {
        file_client_type = fileClientType;
        end_point = endPoint;
        access_key_id = accessKeyId;
        access_key_secret = accessKeySecret;
        bucket_name = bucketName;
        root_dir = rootDir;
    }
}

使用@PostConstruct注解,完成靜態(tài)對(duì)象注入

為什么static對(duì)象不可直接使用@Autowired注入?

Spring/SpringBoot正常情況下不能支持注入靜態(tài)屬性(會(huì)報(bào)空指針異常)。主要原因在于:Spring的依賴注入實(shí)際上是使用Object.Set()進(jìn)行注入的,Spring是基于對(duì)象層面的依賴注入,而靜態(tài)屬性/靜態(tài)變量實(shí)際上是屬于類的。

@PostConstruct和@PreDestroy

  • @PostConstruct 為JavaEE5規(guī)范開始后Servlet中新增@PostConstruct和@PreDestroy被@PostConstruct修飾的方法會(huì)在服務(wù)器加載Servlet的時(shí)候運(yùn)行,并且只會(huì)被服務(wù)器執(zhí)行一次。@PostConstruct 在構(gòu)造函數(shù)之后執(zhí)行,init()方法之前執(zhí)行。
  • @PreDestroy()方法在destroy()方法之后執(zhí)行

執(zhí)行順序:Constructor >> @Autowired >> @PostConstruct

使用示例

package com.sijing.codeRecord.httpUtil;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import com.alibaba.fastjson.JSONObject;

@Component
public class HttpStaticUtil { 
 @Autowired
 RestTemplate restTemplate; 
 private static RestTemplate staticRestTemplate; 
 @SuppressWarnings("static-access")
 @PostConstruct
 public void staticVarAssignment() {
  this.staticRestTemplate = restTemplate;
 }
 
 @SuppressWarnings({ "rawtypes", "unchecked" })
 public static void Post() {
  HttpEntity requestEntity = null;
  HttpHeaders headers = new HttpHeaders();
  headers.setContentType(MediaType.valueOf("application/json"));
  requestEntity = new HttpEntity(String.format(""), headers);
  JSONObject response = staticRestTemplate.postForObject("http://www.baidu.com", requestEntity, JSONObject.class);
  System.out.println(response);
 } 
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot2.3定制錯(cuò)誤頁(yè)面的方法示例

    SpringBoot2.3定制錯(cuò)誤頁(yè)面的方法示例

    這篇文章主要介紹了SpringBoot2.3定制錯(cuò)誤頁(yè)面的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Springboot以Repository方式整合Redis的方法

    Springboot以Repository方式整合Redis的方法

    這篇文章主要介紹了Springboot以Repository方式整合Redis的方法,本文通過(guò)圖文并茂實(shí)例詳解給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java Servlet3.0異步處理問(wèn)題

    Java Servlet3.0異步處理問(wèn)題

    這篇文章主要介紹了Java中Servlet3.0異步處理的原理以及遇到的問(wèn)題分析,需要的朋友參考一下。
    2017-12-12
  • Spring Security組件一鍵接入驗(yàn)證碼登錄和小程序登錄的詳細(xì)過(guò)程

    Spring Security組件一鍵接入驗(yàn)證碼登錄和小程序登錄的詳細(xì)過(guò)程

    這篇文章主要介紹了Spring Security 一鍵接入驗(yàn)證碼登錄和小程序登錄,簡(jiǎn)單介紹一下這個(gè)插件包的相關(guān)知識(shí),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-04-04
  • Spring 中jdbcTemplate 實(shí)現(xiàn)執(zhí)行多條sql語(yǔ)句示例

    Spring 中jdbcTemplate 實(shí)現(xiàn)執(zhí)行多條sql語(yǔ)句示例

    本篇文章主要介紹了Spring 中jdbcTemplate 實(shí)現(xiàn)執(zhí)行多條sql語(yǔ)句示例,可以對(duì)多個(gè)表執(zhí)行多個(gè)sql語(yǔ)句,有興趣的可以了解一下。
    2017-01-01
  • mybatis的增刪改查運(yùn)用方式

    mybatis的增刪改查運(yùn)用方式

    這篇文章主要介紹了mybatis的增刪改查運(yùn)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java中Integer方法實(shí)例詳解

    Java中Integer方法實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Java中Integer方法的相關(guān)資料,Java中的Integer是int的包裝類型,文中通過(guò)代碼實(shí)例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • Java實(shí)現(xiàn)郵箱找回密碼實(shí)例代碼

    Java實(shí)現(xiàn)郵箱找回密碼實(shí)例代碼

    本篇文章主要介紹了Java實(shí)現(xiàn)郵箱找回密碼實(shí)例代碼,可以通過(guò)郵箱找回丟失密碼,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • Spring Boot Actuator監(jiān)控器配置及使用解析

    Spring Boot Actuator監(jiān)控器配置及使用解析

    這篇文章主要介紹了Spring Boot Actuator監(jiān)控器配置及使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • PowerJob的QueryConvertUtils工作流程源碼解讀

    PowerJob的QueryConvertUtils工作流程源碼解讀

    這篇文章主要為大家介紹了PowerJob的QueryConvertUtils工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評(píng)論