Jadual Kandungan
Springboot membaca fail pro dan menyuntik pembolehubah statik
Penyelesaian kepada suntikan sifat statik springboot
Rumah Java javaTutorial Cara Springboot membaca fail pro tersuai dan menyuntik pembolehubah statik

Cara Springboot membaca fail pro tersuai dan menyuntik pembolehubah statik

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

Springboot membaca fail pro dan menyuntik pembolehubah statik

mailConfig.properties

#服务器
mail.host=smtp.qq.com
#端口号
mail.port=587
#邮箱账号
mail.userName=hzy_daybreak_lc@foxmail.com
#邮箱授权码
mail.passWord=vxbkycyjkceocbdc
#时间延迟
mail.timeout=25000
#发送人
mail.emailForm=hzy_daybreak_lc@foxmail.com
#发件人
mail.personal=华夏衣裳
#主题
mail.subject=同袍用户激活
#内容模板
mail.html=您的邮箱验证码为:
Salin selepas log masuk

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;
    }
 
}
Salin selepas log masuk

Penyelesaian kepada suntikan sifat statik springboot

<🎜 Cara pertama

Tetapkan atribut (objek) melalui kitaran hayat permulaan komponen springboot

@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;
    }
}
Salin selepas log masuk

Anda boleh melihat bahawa apabila komponen kelas alat DSHWechatApiUtil dimulakan, kaedah yang ditandakan dengan anotasi @PostConstruct ialah dipanggil. Pembolehubah statik diberi nilai.

Cara kedua

Melalui anotasi @Value()

Anotasi @Value() tidak akan menyuntik atribut ke dalam pembolehubah statik Dengan berfikir dengan cara pertama, Kemudian kita mesti mencari cara untuk menetapkan nilai apabila komponen ini dimulakan.

Kaedah pertama pasti boleh dilakukan, mula-mula tulis sifat, kemudian tetapkan nilai pada sifat melalui anotasi @Value(), dan akhirnya tetapkan nilai kepada sifat statik melalui anotasi @PostConstruct.

Di sini kita perlu menggunakan kaedah lain Kaedah di sini adalah untuk menetapkan nilai melalui kaedah yang ditetapkan. Atribut diubah suai secara statik dan kaedah get juga diubah suai secara statik Walau bagaimanapun, kaedah yang ditetapkan tidak boleh diubah suai secara statik Gunakan anotasi @Value() untuk mengubah suai kaedah yang ditetapkan.

Cara Springboot membaca fail pro tersuai dan menyuntik pembolehubah statik

Dengan cara ini suntikan akan berjaya.

Cara ketiga

Cara ketiga adalah serupa dengan cara kedua,

@ConfigurationProperties(prefix = ProjectConfig.PROJECT_PREFIX)
public class ProjectConfig {
    public static final String PROJECT_PREFIX = "project";
    /**
     * 系统版本号
     */
    private String version;
    /**
     * 项目名称
     */
    private String name;
    /**
     * 版权年份
     */
    private String copyrightYear;
    /**
     * 实例演示开关
     */
    private static boolean demoEnabled;
    /**
     * 获取地址ip开关
     */
    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;
    }
}
Salin selepas log masuk
Seperti dalam kod di atas, selagi kaedah yang ditetapkan ditetapkan kepada bukan statik , maka kelas konfigurasi ini Sifat statik boleh disuntik dengan jayanya.

Atas ialah kandungan terperinci Cara Springboot membaca fail pro tersuai dan menyuntik pembolehubah statik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mana satu berbaloi untuk dibeli, Xiaomi Mi Pad 6 atau Pro? Mana satu berbaloi untuk dibeli, Xiaomi Mi Pad 6 atau Pro? Feb 07, 2024 pm 08:36 PM

Ramai pengguna tidak pasti yang mana satu berbaloi untuk dibeli, Xiaomi Mi Pad 6 atau Mi Pad 6. Dari sudut konfigurasi, konfigurasi Pro yang lebih tinggi pasti disyorkan, tetapi ia juga bergantung pada harga dan bajet mereka sendiri, dan kumpulan kedudukan produk yang berbeza juga Berbeza. Mana satu yang berbaloi untuk dibeli, Xiaomi Mi Pad 6 atau Pro Jawapan: Xiaomi Mi Pad 6 Pro akan menjadi lebih baik, baik dari segi prestasi dan hayat bateri kamera. 1. Pemproses Xiaomi Pad 6: Snapdragon 870 Xiaomi Mi Pad 6 Pro: pemproses Snapdragon 8+ generasi pertama yang lebih berkuasa 2. Saiz bateri Xiaomi Mi Pad 6: 8840mAh, 67W cas kedua Xiaomi Mi Pad 6 Pro: 8600mAh, 33W The fast- mengecas Xiaomi Mi Pad 6 akan mempunyai hayat bateri yang lebih baik, tetapi pengecasan akan menjadi lebih perlahan. 3. Ambil gambar dengan Xiaomi Mi Pad 6

iPhone 15 Pro Max vs iPhone 14 Pro Max: Apakah perbandingan dan perbezaan antara mereka? iPhone 15 Pro Max vs iPhone 14 Pro Max: Apakah perbandingan dan perbezaan antara mereka? Sep 19, 2023 pm 08:29 PM

iPhone 15 Pro lwn. iPhone 14 Pro: Perbandingan Spesifikasi Berikut ialah perbandingan spesifikasi antara iPhone 15 Pro Max dan iPhone 14 Pro Max: iPhone 15 Pro Max iPhone 14 Pro Max Saiz paparan 6.7 inci 6.7 inci Teknologi paparan Super Retina 2,000 nits Dimensi 6.29x3 .02x0.32 inci 6.33x3.06x0.31 inci Berat 221 gram 240 gram

Bagaimana untuk memulakan Xiaomi Mi Band 8pro Bagaimana untuk memulakan Xiaomi Mi Band 8pro Jan 14, 2024 am 08:51 AM

Ramai pengguna tidak tahu bagaimana untuk menghidupkan Xiaomi Mi Band 8 apabila mereka mula-mula bersentuhan dengannya Sebenarnya, kaedahnya sangat mudah. ​​Kami hanya perlu mencari kabel data USB dan menyambungkan jam tangan ke bekalan kuasa , dan kemudian mengecasnya untuk seketika Anda boleh menekan butang untuk menghidupkan. Cara menghidupkan Xiaomi Mi Band 8pro 1. Mula-mula pasang jam tangan iaitu sambungkan tema dan tali pada kedua-dua belah. 2. Kemudian apabila kita menghidupkan jam tangan untuk kali pertama, kita perlu menyambungkan kabel pengecasan Kaedah sambungan adalah di bahagian bawah jam tangan. 3. Tunggu sehingga jam tangan bergetar untuk dihidupkan, dan kemudian sambungkan ke telefon anda. >>>

Analisis perbandingan dan perbezaan antara SpringBoot dan SpringMVC Analisis perbandingan dan perbezaan antara SpringBoot dan SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot dan SpringMVC adalah kedua-dua rangka kerja yang biasa digunakan dalam pembangunan Java, tetapi terdapat beberapa perbezaan yang jelas antara mereka. Artikel ini akan meneroka ciri dan penggunaan kedua-dua rangka kerja ini dan membandingkan perbezaannya. Mula-mula, mari belajar tentang SpringBoot. SpringBoot telah dibangunkan oleh pasukan Pivotal untuk memudahkan penciptaan dan penggunaan aplikasi berdasarkan rangka kerja Spring. Ia menyediakan cara yang pantas dan ringan untuk membina bersendirian, boleh dilaksanakan

Perbezaan antara macbook air dan pro Perbezaan antara macbook air dan pro Feb 08, 2024 am 09:57 AM

MacBook Air ialah komputer riba Apple Ramai pengguna ingin tahu tentang perbezaan antara MacBook Air dan Pro Kedua-dua komputer riba mempunyai beberapa perbezaan dalam teras pemproses, frekuensi utama dan jenis kad grafik. Perbezaan antara MacBook Air dan Pro: 1. Teras dan benang pemproses yang berbeza: Pemproses MacBook Air mempunyai dua teras dan empat utas. Pro lebih berkuasa daripada MacBook Air, dengan empat teras dan lapan utas. 2. Kekerapan utama pemproses adalah berbeza: pemproses MacBook Air mempunyai frekuensi utama 1.6GHz. Kekerapan utama pemproses pro ialah 1.4GHz, yang lebih rendah sedikit daripada macbook air. 3. Kad grafik yang berbeza: macbookair pakai

Tarikh keluaran Xiaomi Pro14 Tarikh keluaran Xiaomi Pro14 Jan 05, 2024 pm 02:50 PM

Xiaomi pro14 sudah pun berada di pasaran, dan konfigurasinya sangat bagus untuk komputer riba pejabat perniagaan Terdapat tiga konfigurasi pemproses untuk dipilih, dan harganya tidak terlalu tinggi. Ramai rakan tidak tahu masa pelancaran khusus Xiaomi Pro14. Masa pelancaran Xiaomi Pro14 A: Xiaomi Pro14 Edisi Ryzen akan tersedia untuk prapesanan pada 10 November 2021, dengan harga permulaan bermula dari 5,299 yuan. Xiaomi Notebook Pro 14 akan dikeluarkan pada 4 Julai 2022, dan akan mula dijual secara rasmi pada tengah malam pada 8 Julai. Pengenalan Xiaomi pro14 1. Skrin ini dilengkapi dengan skrin 14-inci 2.5K Super Retina dengan resolusi 2560x1600, nisbah skrin-ke-badan sehingga 88%, gamut warna 100% sRGB, dan kadar penyegaran sebanyak 120Hz. 2. Penampilan mengamalkan 6 siri

Bagaimana untuk mendapatkan nilai dalam application.yml dalam springboot Bagaimana untuk mendapatkan nilai dalam application.yml dalam springboot Jun 03, 2023 pm 06:43 PM

Dalam projek, beberapa maklumat konfigurasi sering diperlukan Maklumat ini mungkin mempunyai konfigurasi yang berbeza dalam persekitaran ujian dan persekitaran pengeluaran, dan mungkin perlu diubah suai kemudian berdasarkan keadaan perniagaan sebenar. Kami tidak boleh mengekodkan konfigurasi ini dalam kod. Adalah lebih baik untuk menulisnya dalam fail konfigurasi Sebagai contoh, anda boleh menulis maklumat ini dalam fail application.yml. Jadi, bagaimana untuk mendapatkan atau menggunakan alamat ini dalam kod? Terdapat 2 kaedah. Kaedah 1: Kita boleh mendapatkan nilai yang sepadan dengan kunci dalam fail konfigurasi (application.yml) melalui ${key} beranotasi dengan @Value Kaedah ini sesuai untuk situasi di mana terdapat sedikit perkhidmatan mikro projek, Apabila perniagaan adalah rumit, logik

Tutorial praktikal pembangunan SpringBoot+Dubbo+Nacos Tutorial praktikal pembangunan SpringBoot+Dubbo+Nacos Aug 15, 2023 pm 04:49 PM

Artikel ini akan menulis contoh terperinci untuk bercakap tentang perkembangan sebenar dubbo+nacos+Spring Boot. Artikel ini tidak akan merangkumi terlalu banyak pengetahuan teori, tetapi akan menulis contoh paling mudah untuk menggambarkan bagaimana dubbo boleh disepadukan dengan nacos untuk membina persekitaran pembangunan dengan cepat.

See all articles