Trong một lớp học của tôi có một thành viên public static String
và tôi cần đặt giá trị này trong applicationContext.xml
! Tức là, chúng ta có thể tiêm một giá trị cho thuộc tính tĩnh này không?Tiêm các giá trị cho hằng số tĩnh trong Spring
14
A
Trả lời
11
vâng đó là một ví dụ về liên kết này http://planproof-fool.blogspot.com/2010/03/spring-setting-static-fields.html
4
Không, nó không thể bơm một giá trị cho một lĩnh vực tĩnh từ bối cảnh XML của bạn.
Nếu bạn có thể thay đổi lớp, bạn có những lựa chọn đơn giản sau đây:
- loại bỏ các modifier tĩnh và thêm @ Tiêm/@ Autowire trên lĩnh vực
- thêm một constructor/setter/phương pháp init.
Khác, bạn có thể làm điều đó với hỗ trợ cấu hình Java của Spring.
Một ví dụ:
Lớp Demo với trường tĩnh và một phương pháp JUnit đó khẳng định rằng container mùa xuân tiêm giá trị truy nã vào trường tĩnh:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("test-context.xml")
public class Demo {
public static String fieldOne;
@Test
public void testStaticField() {
assertEquals("test", fieldOne);
}
}
Thêm không gian tên ngữ cảnh để bạn phần tử appContext và component-scan:
<context:component-scan base-package="com.example" />
Thêm đậu của bạn với trường tĩnh như sau:
@Configuration
public class JavaConfig {
@Bean
public Demo demo() {
Demo.fieldOne = "test";
return new Demo();
}
}
Trong trường hợp này, lớp JavaConfig phải nằm trong gói com.example như được khai báo trong phần tử quét thành phần.
Các vấn đề liên quan
- 1. giá trị hằng số trong Rails
- 2. Lớp với các giá trị hằng số tĩnh được xác định trong Mục tiêu-C
- 3. Tiêm giá trị bên ngoài vào chú thích Spring
- 4. Hằng số tĩnh trong C#
- 5. Có thể khai báo giá trị hằng số tĩnh ảo trong lớp C++ không?
- 6. Làm thế nào để làm cho giá trị tiêm xuân vào một trường tĩnh
- 7. hằng số chuỗi tĩnh trong lớp vs không gian tên cho hằng số [C++]
- 8. Đâu là hằng số cho các giá trị "HttpRequest.RequestType" và "WebRequest.Method" trong .NET?
- 9. Tại sao Enums được biên dịch dưới dạng hằng số thay vì giá trị tĩnh?
- 10. Lưu trữ các giá trị số nguyên như hằng số theo cách Enum trong java
- 11. android - strings.xml vs hằng số tĩnh
- 12. Đặt giá trị ListItem thành hằng số cho RadioButtonList trong ASPX
- 13. Hằng số cho các loại tài nguyên trong Android
- 14. giá trị tĩnh trong web.config
- 15. Hằng số động trong PHP?
- 16. Các hằng số ghi đè trong Java
- 17. Hằng số biểu tượng Java - Hằng số tĩnh có ổn không?
- 18. Tiêm giá trị vào sự phụ thuộc tiêm
- 19. Số liệt kê Java so với hằng số tĩnh
- 20. Giá trị thời gian ms thực tế cho hằng số animTime của Android là gì?
- 21. Gán giá trị cho văn bản tĩnh trong GUI MATLAB
- 22. mùa xuân - sử dụng các lĩnh vực thức tĩnh (hằng số) cho đậu khởi
- 23. Biến tĩnh mất giá trị
- 24. Quy ước đặt tên cho lớp hằng số trong C#: số nhiều hoặc số ít?
- 25. Spring JdbcTemplate/NamedParameterJdbcTemplate truyền giá trị rỗng như một giá trị tham số
- 26. Phần tử Spring <constructor-arg> phải chỉ định giá trị ref hoặc giá trị
- 27. Có hằng số xác định giá trị cực đại của số nguyên dài hay không?
- 28. Mùa xuân: Làm thế nào để tiêm một giá trị vào trường tĩnh?
- 29. Hằng số trong các tệp ánh xạ Hibernate
- 30. Công giá trị biến tĩnh