sách gpt4 ai đã đi

Springboot đọc tệp pro tùy chỉnh và chèn các biến tĩnh

In lại Tác giả:qq735679552 Thời gian cập nhật: 2022-09-29 22:32:09 28 4
mua khóa gpt4 Nike

CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.

Bài đăng trên blog CFSDN Springboot đọc các tệp chuyên nghiệp tùy chỉnh để đưa các biến tĩnh này được tác giả thu thập và sắp xếp. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

Springboot đọc tệp pro và chèn các biến tĩnh

mailConfig.properties .

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#máy chủ
mail.host=smtp.qq.com
#Số cổng
mail.port= 587
#Tài khoản Email
mail.userName=hzy_daybreak_lc @foxmail .com
#Mã xác thực email
mail.passWord=vxbkycyjkceocbdc
#Thời gian trễ
mail.timeout= 25000
#Người gửi
mail.emailForm=hzy_daybreak_lc @foxmail .com
#Người gửi
mail.personal=Quần áo Huaxia
#chủ đề
mail.subject=Kích hoạt người dùng Tongpao
#Mẫu Nội dung
mail.html=Mã xác minh email của bạn là:

MailConfig.java.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
hai mươi ba
hai mươi bốn
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
/*
  * @(#)MailConfig.java Được tạo vào ngày 11 tháng 9 năm 2019
  * Bản quyền (c) 2019 ZDSoft Networks, Inc. Bảo lưu mọi quyền.
  * $ID$
  */
gói com.hxyc.config.properties;
 
nhập org.springframework.beans.factory.annotation.Value;
nhập org.springframework.context.annotation.Configuration;
nhập org.springframework.context.annotation.PropertySource;
nhập org.springframework.stereotype.Component;
 
/**
  * @tác giả huangzy
  * @version $Revision: 1.0 $, $Date: 11 tháng 9 năm 2019 10:29:35 AM $
  */
@Cấu hình
@PropertySource(giá trị = "classpath:config/mailConfig.properties", mã hóa = "UTF-8")
@Thành phần
lớp công khai MailConfig {
     máy chủ String tĩnh công khai;
     cổng số nguyên tĩnh công khai;
     công khai tĩnh String userName;
     công khai tĩnh Chuỗi mật khẩu;
     công khai tĩnh Chuỗi emailForm;
     thời gian chờ chuỗi tĩnh công khai;
     công khai tĩnh Chuỗi cá nhân;
     công khai tĩnh Chuỗi html;
     chủ đề public static String;
 
     /**
      * @return Trả về máy chủ.
      */
     công khai tĩnh String getHost() {
         trở về chủ nhà;
     }
 
     /**
      * @param máy chủ
      * Máy chủ cần thiết lập.
      */
     @Giá trị("${mail.host}")
     public void setHost(Chuỗi máy chủ) {
         MailConfig.host = máy chủ;
     }
 
     /**
      * @return Trả về cổng.
      */
     công khai tĩnh Integer getPort() {
         cổng trả về;
     }
 
     /**
      * @param cổng
      * Cổng cần thiết lập.
      */
     @Giá trị("${mail.port}")
     public void setPort(Integer port) {
         MailConfig.port = cổng;
     }
 
     /**
      * @return Trả về userName.
      */
     công khai tĩnh String getUserName() {
         trả về tên người dùng;
     }
 
     /**
      * @param tên người dùng
      * Tên người dùng cần đặt.
      */
     @Giá trị("${mail.userName}")
     công khai void setUserName(Chuỗi userName) {
         MailConfig.userName = Tên người dùng;
     }
 
     /**
      * @return Trả về mật khẩu.
      */
     công khai tĩnh String getPassWord() {
         trả về mật khẩu;
     }
 
     /**
      * @param mật khẩu
      * Mật khẩu để thiết lập.
      */
     @Giá trị("${mail.passWord}")
     công khai void setPassWord(Chuỗi mật khẩu) {
         MailConfig.passWord = mật khẩu;
     }
 
     /**
      * @return Trả về emailForm.
      */
     công khai tĩnh String getEmailForm() {
         trả lời emailMẫu;
     }
 
     /**
      * @param emailForm
      * EmailForm để thiết lập.
      */
     @Giá trị("${mail.emailForm}")
     công khai void setEmailForm(Chuỗi emailForm) {
         MailConfig.emailForm = emailForm;
     }
 
     /**
      * @return Trả về thời gian chờ.
      */
     công khai tĩnh String getTimeout() {
         trả về thời gian chờ;
     }
 
     /**
      * @param hết thời gian chờ
      * Thời gian chờ cần thiết lập.
      */
     @Giá trị("${mail.timeout}")
     public void setTimeout(Chuỗi thời gian chờ) {
         MailConfig.timeout = thời gian chờ;
     }
 
     /**
      * @return Trả về thông tin cá nhân.
      */
     công khai tĩnh String getPersonal() {
         trở về cá nhân;
     }
 
     /**
      * @param cá nhân
      * Cá nhân cần thiết lập.
      */
     @Giá trị("${mail.cá nhân}")
     công khai void setPersonal(Chuỗi cá nhân) {
         MailConfig.personal = cá nhân;
     }
 
     /**
      * @return Trả về html.
      */
     công khai tĩnh String getHtml() {
         trả về html;
     }
 
     /**
      * @paramhtml
      * HTML để thiết lập.
      */
     @Giá trị("${mail.html}")
     công khai void setHtml(Chuỗi html) {
         MailConfig.html = html;
     }
 
     /**
      * @return Trả về chủ đề.
      */
     công khai tĩnh String getSubject() {
         trở lại chủ đề;
     }
 
     /**
      * @param chủ đề
      * Chủ đề cần đặt.
      */
     @Giá trị ( "${mail.chủ đề}" )
     công cộng vô hiệu setSubject(Chuỗi chủ đề) {
         MailConfig.subject = chủ đề;
     }
 
}

Giải pháp tiêm thuộc tính tĩnh của Springboot

Phương pháp đầu tiên

Gán các thuộc tính (đối tượng) thông qua vòng đời khởi tạo thành phần springboot.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
@Thành phần
công cộng lớp học DSHWechatApiUtil mở rộng Bộ điều khiển DSHBase {
     @Autowired
     riêng tư IThirdPartyAuthDao thirdPartyAuthDao;
     riêng tư tĩnh IThirdPartyAuthDao tĩnhThirdPartyAuthDao;
    
     @PostXây dựng
     công cộng vô hiệu khởi tạo() {
         staticThirdPartyAuthDao = thirdPartyAuthDao;
     }
     công cộng tĩnh JSONObject getAuthorizerToken(Chuỗi componentAccessToken, Chuỗi authorizerAppid, Chuỗi authorizerRefreshToken) {
         JSONObject trả vềObject = mới Đối tượng JSON();
         thử {
             nếu như (DSHUtils.isEmpty(thành phầnAccessToken)) {
                 thành phầnAccessToken = staticThirdPartyAuthDao.selectWechatValue(DSHConstants.WECHAT_PARAMS.COMPONENT_ACCESS_TOKEN);
             }
         } nắm lấy (Ngoại lệ e) {
             e.printStackTrace();
         }
         trở lại returnObject;
     }
}

Có thể thấy rằng khi thành phần lớp công cụ DSHWechatApiUtil được khởi tạo, phương thức được chú thích bằng @PostConstruct được gọi để gán giá trị cho các biến tĩnh.

Phương pháp thứ hai

Thông qua chú thích @Value().

Chú thích @Value() không inject thuộc tính vào biến tĩnh. Dựa trên cách nghĩ đầu tiên, chúng ta phải tìm cách gán giá trị khi thành phần này được khởi tạo.

Phương pháp đầu tiên chắc chắn là khả thi. Đầu tiên, hãy viết một thuộc tính, sau đó gán giá trị cho thuộc tính này thông qua chú thích @Value() và cuối cùng gán nó cho thuộc tính tĩnh thông qua chú thích @PostConstruct.

Ở đây chúng ta phải sử dụng một cách tiếp cận khác, đó là gán giá trị thông qua phương thức set. Thuộc tính được sửa đổi tĩnh, phương thức get cũng được sửa đổi tĩnh, nhưng phương thức set không thể được sửa đổi tĩnh, hãy sử dụng chú thích @Value() để sửa đổi phương thức set.

Springboot đọc tệp pro tùy chỉnh và chèn các biến tĩnh

Điều này sẽ giúp cho việc tiêm thuốc được thành công.

Cách thứ ba

Phương pháp thứ ba tương tự như phương pháp thứ hai.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
hai mươi ba
hai mươi bốn
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@Thuộc tính cấu hình (tiền tố = ProjectConfig.PROJECT_PREFIX)
công cộng lớp học Dự ánCấu hình {
     công cộng tĩnh cuối cùng Chuỗi PROJECT_PREFIX = "dự án" ;
     /**
      * Số phiên bản hệ thống
      */
     riêng tư Phiên bản chuỗi;
     /**
      * Tên dự án
      */
     riêng tư Tên chuỗi;
     /**
      * Năm bản quyền
      */
     riêng tư Chuỗi bản quyềnNăm;
     /**
      * Ví dụ về công tắc trình diễn
      */
     riêng tư tĩnh Boolean demoĐã bật;
     /**
      * Lấy địa chỉ ip switch
      */
     riêng tư tĩnh Boolean địa chỉĐã bật;
     công cộng Chuỗi getVersion() {
         trở lại phiên bản;
     }
     công cộng vô hiệu setVersion(Phiên bản chuỗi) {
         cái này .version = phiên bản;
     }
     công cộng Chuỗi getName() {
         trở lại tên;
     }
     công cộng vô hiệu setName(Tên chuỗi) {
         cái này .name = tên;
     }
     công cộng Chuỗi getCopyrightYear() {
         trở lại bản quyềnNăm;
     }
     công cộng vô hiệu setCopyrightYear(Chuỗi năm bản quyền) {
         cái này .copyrightYear = năm bản quyền;
     }
     công cộng Boolean isDemoEnabled() {
         trở lại demoĐã bật;
     }
     công cộng vô hiệu đặtDemoEnabled( Boolean demoĐã bật) {
         ProjectConfig.demoEnabled = demoEnabled;
     }
     công cộng tĩnh Boolean isAddressEnabled() {
         trở lại địa chỉĐã bật;
     }
     công cộng vô hiệu đặtĐịa chỉĐã bật( Boolean địa chỉĐã bật) {
         ProjectConfig.addressEnabled = addressEnabled;
     }
}

Như được hiển thị trong đoạn mã trên, miễn là phương thức set được đặt thành không tĩnh thì các thuộc tính tĩnh của lớp cấu hình này có thể được đưa vào thành công.

Trên đây là kinh nghiệm cá nhân của tôi, hy vọng có thể giúp bạn tham khảo và mong bạn có thể ủng hộ tôi.

Liên kết gốc: https://blog.csdn.net/u011429743/article/details/100732255.

Cuối cùng, bài viết này về cách Springboot đọc các tệp pro tùy chỉnh và inject các biến tĩnh đã kết thúc. Nếu bạn muốn biết thêm về cách Springboot đọc các tệp pro tùy chỉnh và inject các biến tĩnh, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

28 4 0
qq735679552
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com