国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Springboot 讀取pro文件注入static靜態(tài)變量
springboot靜態(tài)屬性注入的解決
第一種方式
第二種方式
第三種方式
首頁(yè) Java java教程 Springboot如何讀取自定義pro文件注入static靜態(tài)變量

Springboot如何讀取自定義pro文件注入static靜態(tài)變量

May 30, 2023 am 09:07 AM
static springboot pro

Springboot 讀取pro文件注入static靜態(tài)變量

mailConfig.properties

#服務(wù)器
mail.host=smtp.qq.com
#端口號(hào)
mail.port=587
#郵箱賬號(hào)
mail.userName=hzy_daybreak_lc@foxmail.com
#郵箱授權(quán)碼
mail.passWord=vxbkycyjkceocbdc
#時(shí)間延遲
mail.timeout=25000
#發(fā)送人
mail.emailForm=hzy_daybreak_lc@foxmail.com
#發(fā)件人
mail.personal=華夏衣裳
#主題
mail.subject=同袍用戶激活
#內(nèi)容模板
mail.html=您的郵箱驗(yàn)證碼為:

MailConfig.java

/*
 * @(#)MailConfig.java    Created on 2019年9月11日
 * Copyright (c) 2019 ZDSoft Networks, Inc. All rights reserved.
 * $Id$
 */
package com.hxyc.config.properties;
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
 
/**
 * @author huangzy
 * @version $Revision: 1.0 $, $Date: 2019年9月11日 上午10:29:35 $
 */
@Configuration
@PropertySource(value = "classpath:config/mailConfig.properties", encoding = "UTF-8")
@Component
public class MailConfig {
    public static String host;
    public static Integer port;
    public static String userName;
    public static String passWord;
    public static String emailForm;
    public static String timeout;
    public static String personal;
    public static String html;
    public static String subject;
 
    /**
     * @return Returns the host.
     */
    public static String getHost() {
        return host;
    }
 
    /**
     * @param host
     *            The host to set.
     */
    @Value("${mail.host}")
    public void setHost(String host) {
        MailConfig.host = host;
    }
 
    /**
     * @return Returns the port.
     */
    public static Integer getPort() {
        return port;
    }
 
    /**
     * @param port
     *            The port to set.
     */
    @Value("${mail.port}")
    public void setPort(Integer port) {
        MailConfig.port = port;
    }
 
    /**
     * @return Returns the userName.
     */
    public static String getUserName() {
        return userName;
    }
 
    /**
     * @param userName
     *            The userName to set.
     */
    @Value("${mail.userName}")
    public void setUserName(String userName) {
        MailConfig.userName = userName;
    }
 
    /**
     * @return Returns the passWord.
     */
    public static String getPassWord() {
        return passWord;
    }
 
    /**
     * @param passWord
     *            The passWord to set.
     */
    @Value("${mail.passWord}")
    public void setPassWord(String passWord) {
        MailConfig.passWord = passWord;
    }
 
    /**
     * @return Returns the emailForm.
     */
    public static String getEmailForm() {
        return emailForm;
    }
 
    /**
     * @param emailForm
     *            The emailForm to set.
     */
    @Value("${mail.emailForm}")
    public void setEmailForm(String emailForm) {
        MailConfig.emailForm = emailForm;
    }
 
    /**
     * @return Returns the timeout.
     */
    public static String getTimeout() {
        return timeout;
    }
 
    /**
     * @param timeout
     *            The timeout to set.
     */
    @Value("${mail.timeout}")
    public void setTimeout(String timeout) {
        MailConfig.timeout = timeout;
    }
 
    /**
     * @return Returns the personal.
     */
    public static String getPersonal() {
        return personal;
    }
 
    /**
     * @param personal
     *            The personal to set.
     */
    @Value("${mail.personal}")
    public void setPersonal(String personal) {
        MailConfig.personal = personal;
    }
 
    /**
     * @return Returns the html.
     */
    public static String getHtml() {
        return html;
    }
 
    /**
     * @param html
     *            The html to set.
     */
    @Value("${mail.html}")
    public void setHtml(String html) {
        MailConfig.html = html;
    }
 
    /**
     * @return Returns the subject.
     */
    public static String getSubject() {
        return subject;
    }
 
    /**
     * @param subject
     *            The subject to set.
     */
    @Value("${mail.subject}")
    public void setSubject(String subject) {
        MailConfig.subject = subject;
    }
 
}

springboot靜態(tài)屬性注入的解決

第一種方式

通過(guò)springboot組件初始化生命周期進(jìn)行屬性(對(duì)象)賦值

@Component
public class DSHWechatApiUtil extends DSHBaseController {
    @Autowired
    private IThirdPartyAuthDao thirdPartyAuthDao;
    private static IThirdPartyAuthDao staticThirdPartyAuthDao;
    
    @PostConstruct
    public void init() {
        staticThirdPartyAuthDao = thirdPartyAuthDao;
    }
    public static JSONObject getAuthorizerToken(String componentAccessToken, String authorizerAppid, String authorizerRefreshToken) {
        JSONObject returnObject = new JSONObject();
        try {
            if (DSHUtils.isEmpty(componentAccessToken)) {
                componentAccessToken = staticThirdPartyAuthDao.selectWechatValue(DSHConstants.WECHAT_PARAMS.COMPONENT_ACCESS_TOKEN);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return returnObject;
    }
}

可以看到,當(dāng)DSHWechatApiUtil工具類組件進(jìn)行初始化時(shí),調(diào)用@PostConstruct注解標(biāo)注的方法,對(duì)靜態(tài)變量進(jìn)行了賦值。

第二種方式

通過(guò)@Value()注解

@Value()注解不會(huì)對(duì)靜態(tài)變量進(jìn)行屬性注入,通過(guò)第一種方式的思維,那么我們肯定得想個(gè)辦法,在這個(gè)組件初始化時(shí)也來(lái)賦值。

第一種方式肯定也是可以的,先寫一個(gè)屬性,然后通過(guò)@Value()注解對(duì)這個(gè)屬性進(jìn)行賦值,最后通過(guò)@PostConstruct注解方式賦值給靜態(tài)屬性。

這里我們要采用另一個(gè)方式,這里的方式是通過(guò)set方法來(lái)賦值。屬性是static修飾的,get方法也是static修飾的,但是set方法不能是static修飾,使用@Value()注解來(lái)修飾set方法。

Springboot如何讀取自定義pro文件注入static靜態(tài)變量

這樣就能成功注入。

第三種方式

第三種方式和第二種差不多,

@ConfigurationProperties(prefix = ProjectConfig.PROJECT_PREFIX)
public class ProjectConfig {
    public static final String PROJECT_PREFIX = "project";
    /**
     * 系統(tǒng)版本號(hào)
     */
    private String version;
    /**
     * 項(xiàng)目名稱
     */
    private String name;
    /**
     * 版權(quán)年份
     */
    private String copyrightYear;
    /**
     * 實(shí)例演示開關(guān)
     */
    private static boolean demoEnabled;
    /**
     * 獲取地址ip開關(guān)
     */
    private static boolean addressEnabled;
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCopyrightYear() {
        return copyrightYear;
    }
    public void setCopyrightYear(String copyrightYear) {
        this.copyrightYear = copyrightYear;
    }
    public boolean isDemoEnabled() {
        return demoEnabled;
    }
    public void setDemoEnabled(boolean demoEnabled) {
        ProjectConfig.demoEnabled = demoEnabled;
    }
    public static boolean isAddressEnabled() {
        return addressEnabled;
    }
    public void setAddressEnabled(boolean addressEnabled) {
        ProjectConfig.addressEnabled = addressEnabled;
    }
}

如上述代碼,只要把set方法設(shè)置為非靜態(tài),那么這個(gè)配置類的靜態(tài)屬性就能成功注入了。

以上是Springboot如何讀取自定義pro文件注入static靜態(tài)變量的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
iPhone 15 Pro Max vs iPhone 14 Pro Max:它們之間的對(duì)比和區(qū)別是什么? iPhone 15 Pro Max vs iPhone 14 Pro Max:它們之間的對(duì)比和區(qū)別是什么? Sep 19, 2023 pm 08:29 PM

iPhone15Pro與iPhone14Pro:規(guī)格比較以下是iPhone15ProMax和iPhone14ProMax的規(guī)格比較:iPhone15ProMaxiPhone14ProMax顯示尺寸6.7英寸6.7英寸顯示技術(shù)超級(jí)視網(wǎng)膜XDROLED超級(jí)視網(wǎng)膜XDROLED分辨率2796x1290像素,460ppi2796x1290像素,460ppi刷新率120赫茲120赫茲峰值亮度2,000尼特2,000尼特尺寸6.29x3.02x0.32英寸6.33x3.06x0.31英寸重量221克240克

如何啟動(dòng)小米手環(huán)8pro 如何啟動(dòng)小米手環(huán)8pro Jan 14, 2024 am 08:51 AM

不少用戶在第一次接觸使用小米手環(huán)8的時(shí)候不知道該怎么操作使用開機(jī),其實(shí)方法也很簡(jiǎn)單,我們只需要找到USB數(shù)據(jù)線然后把手表和電源連接起來(lái),然后沖一段時(shí)間電以后就可以按鍵開機(jī)了。小米手環(huán)8pro怎么開機(jī)1、首先把手表安裝好,就是把主題和表帶兩邊對(duì)接連上。2、然后我們第一次開機(jī)是需要連接充電線的,連接方法就在手表底部。3、等待手表震動(dòng)一下就可以進(jìn)行開機(jī)了,隨后就可以和你的手機(jī)進(jìn)行連接了。>>>

SpringBoot與SpringMVC的比較及差別分析 SpringBoot與SpringMVC的比較及差別分析 Dec 29, 2023 am 11:02 AM

SpringBoot和SpringMVC都是Java開發(fā)中常用的框架,但它們之間有一些明顯的差異。本文將探究這兩個(gè)框架的特點(diǎn)和用途,并對(duì)它們的差異進(jìn)行比較。首先,我們來(lái)了解一下SpringBoot。SpringBoot是由Pivotal團(tuán)隊(duì)開發(fā)的,它旨在簡(jiǎn)化基于Spring框架的應(yīng)用程序的創(chuàng)建和部署。它提供了一種快速、輕量級(jí)的方式來(lái)構(gòu)建獨(dú)立的、可執(zhí)行

三攝加持 20 倍變焦,榮耀親選小湃智能攝像頭 Pro 創(chuàng)新來(lái)襲 三攝加持 20 倍變焦,榮耀親選小湃智能攝像頭 Pro 創(chuàng)新來(lái)襲 Aug 23, 2024 pm 09:44 PM

您家里裝攝像頭了嗎?近些年,家用攝像頭產(chǎn)品一下就成了爆款。我問(wèn)了身邊的小伙伴們,好家伙~居然每家都有,甚至有的還不止一臺(tái)。但隨著產(chǎn)品的普及,也隨之帶來(lái)了一些使用過(guò)程中的吐槽點(diǎn)。比如同一時(shí)間只能看到一個(gè)地方,再想看其他地方還得來(lái)回調(diào)整云臺(tái)旋轉(zhuǎn)攝像頭,觀看畫面有一定的盲區(qū)和時(shí)間差;或者想仔細(xì)看看家中某個(gè)位置時(shí),發(fā)現(xiàn)畫面模糊根本看不清晰;等等......在體驗(yàn)上大打折扣。榮耀親選與小湃科技共同推出榮耀親選小湃智能攝像頭Pro主打"三鏡頭雙畫面"。為行業(yè)及用戶痛點(diǎn)提供了全新的解決思路

小米平板6和pro哪個(gè)值得入手 小米平板6和pro哪個(gè)值得入手 Feb 07, 2024 pm 08:36 PM

許多用戶都不太清楚小米平板6和pro哪個(gè)值得入手,從配置來(lái)看,肯定是Pro的更高配置是推薦的,但也要綜合價(jià)格和自己的預(yù)算來(lái)看,不同的產(chǎn)品定位的人群也是不同的。小米平板6和pro哪個(gè)值得入手答:小米平板6Pro會(huì)更好,不管是性能還是拍照續(xù)航都會(huì)更好。1、處理器小米平板6:驍龍870小米平板6Pro:性能更強(qiáng)大的驍龍第一代驍龍8+處理器2、電池大小小米平板6:8840mAh,67W秒充小米平板6Pro:8600mAh,33W快充小米平板6的續(xù)航上表現(xiàn)會(huì)更加的優(yōu)秀,但是充電會(huì)比較慢。3、拍照小米平板6

三星 S25 Ultra 細(xì)節(jié)曝光:與 iPhone 16 Pro Max 同寬,屏幕更大 三星 S25 Ultra 細(xì)節(jié)曝光:與 iPhone 16 Pro Max 同寬,屏幕更大 Aug 23, 2024 pm 09:33 PM

8月22日消息,隨著三星新一代旗艦手機(jī)S25Ultra的發(fā)布日益臨近,越來(lái)越多的細(xì)節(jié)開始浮出水面。知名博主@i冰宇宙今日在微博上透露了S25Ultra的更多規(guī)格信息,其中最引人注目的是其機(jī)身寬度與蘋果iPhone16ProMax相同,均為77.6mm。1.得益于三星在邊框設(shè)計(jì)上的進(jìn)一步優(yōu)化,使得S25Ultra在保持與iPhone16ProMax相同寬度的同時(shí),屏幕大小提升至6.86英寸,為用戶帶來(lái)更加沉浸的視覺體驗(yàn)。博主在評(píng)論區(qū)進(jìn)一步指出,S25Ultra的黑邊比iPhone16ProMax&

小米Pro14發(fā)布日期 小米Pro14發(fā)布日期 Jan 05, 2024 pm 02:50 PM

小米pro14已經(jīng)上市,而且它的配置作為商務(wù)辦公本來(lái)說(shuō)也是非常不錯(cuò)的了,而且還有三種處理器配置可以選擇,價(jià)格也不是特別高。很多小伙伴不知道小米Pro14的具體上市時(shí)間。小米pro14上市時(shí)間答:2021年11月10日小米Pro14銳龍版開啟預(yù)約,首發(fā)價(jià)5299元起。2022年7月4日,小米筆記本Pro14發(fā)布,7月8日零點(diǎn)正式開售。小米pro14介紹1、屏幕配備14英寸2.5K超視網(wǎng)膜屏,分辨率為2560x1600,屏占比高達(dá)88%,擁有100%sRGB色域,刷新率為120Hz。2、外觀采用6系

SpringBoot+Dubbo+Nacos 開發(fā)實(shí)戰(zhàn)教程 SpringBoot+Dubbo+Nacos 開發(fā)實(shí)戰(zhàn)教程 Aug 15, 2023 pm 04:49 PM

本文來(lái)寫個(gè)詳細(xì)的例子來(lái)說(shuō)下dubbo+nacos+Spring Boot開發(fā)實(shí)戰(zhàn)。本文不會(huì)講述太多的理論的知識(shí),會(huì)寫一個(gè)最簡(jiǎn)單的例子來(lái)說(shuō)明dubbo如何與nacos整合,快速搭建開發(fā)環(huán)境。

See all articles