Có cách nào để in tất cả các hạt đậu xuân được nạp khi khởi động không? Tôi đang sử dụng Spring 2.0.In tất cả các hạt đậu Xuân được nạp
48
A
Trả lời
56
Vâng, có được Ahold của ApplicationContext
và gọi .getBeanDefinitionNames()
Bạn có thể lấy bối cảnh theo:
- thực hiện
ApplicationContextAware
- tiêm nó với
@Inject
/@Autowired
(sau 2.5) - sử dụng
WebApplicationContextUtils.getRequiredWebApplicationContext(..)
Related: Bạn cũng có thể phát hiện đăng ký của mỗi bean bằng cách đăng ký một bean BeanPostprocessor
. Nó sẽ được thông báo cho mỗi đậu.
4
Bạn có thể thử gọi
org.springframework.beans.factory.ListableBeanFactory.getBeansOfType(Object.class)
Hoặc bật debug logging cho org.springframework
.
42
public class PrintBeans {
@Autowired
ApplicationContext applicationContext;
public void printBeans() {
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));
}
}
15
In tất cả các tên đậu và các lớp học của nó:
package com.javahash.spring.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloWorldController {
@Autowired
private ApplicationContext applicationContext;
@RequestMapping("/hello")
public String hello(@RequestParam(value="key", required=false, defaultValue="World") String name, Model model) {
String[] beanNames = applicationContext.getBeanDefinitionNames();
for (String beanName : beanNames) {
System.out.println(beanName + " : " + applicationContext.getBean(beanName).getClass().toString());
}
model.addAttribute("name", name);
return "helloworld";
}
}
7
Với mùa xuân Boot và khởi động thiết bị truyền động
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
bạn có thể kiểm tra các thiết bị đầu cuối /beans
+0
Cảm ơn Việt Nam !! –
Các vấn đề liên quan
- 1. Truy cập vào tất cả các hạt đậu mùa xuân thuộc một loại nhất định
- 2. Truy cập các hạt đậu mùa xuân ở JerseyTest
- 3. Mùa xuân Không có hạt đậu độc đáo loại
- 4. Yêu cầu khởi tạo hạt đậu mùa xuân
- 5. Tạo hạt đậu mùa xuân nguyên mẫu với chú thích?
- 6. Nhập hạt đậu mùa xuân từ các mô-đun Maven khác bên trong một WAR?
- 7. Làm thế nào để tải tất cả đậu lười biếng với @ComponentScan trong mùa xuân?
- 8. Danh sách các loại đậu mùa xuân theo loại
- 9. Làm thế nào tôi có thể nhận được một danh sách các hạt đậu ngay lập tức từ mùa xuân?
- 10. Tiêm đậu Xuân vào RestEasy
- 11. Xuân XML đậu bên trong câu hỏi
- 12. Mùa xuân - Làm thế nào tôi có thể phá hủy hạt đậu nguyên mẫu?
- 13. Kiểm tra xem tất cả hình ảnh được nạp
- 14. cấu hình đậu mùa xuân
- 15. Làm thế nào để trì hoãn khởi động hạt đậu mùa xuân?
- 16. Phương pháp tiêu diệt hạt đậu mùa xuân, singleton và nguyên mẫu
- 17. Các chiến lược chung khi xác định hạt đậu mùa xuân cho các môi trường khác nhau
- 18. Tại sao Hạt Java được gọi là "đậu"?
- 19. PHP PDO tìm nạp tất cả các bảng
- 20. Tiêm đậu mùa xuân bằng CDI @Inject
- 21. Highcharts: Nút "In tất cả"
- 22. In Tất cả Flags JVM
- 23. Tại sao ngữ cảnh mùa xuân được nạp hai lần?
- 24. Mùa xuân - tiêm 2 hạt cùng loại
- 25. In tất cả những gì có thể được nhập khẩu
- 26. Tiêm phụ thuộc vào mùa xuân: Tiêm tất cả các trường hợp của giao diện
- 27. Làm cách nào để liệt kê tất cả các cụm được nạp?
- 28. Làm cách nào để có danh sách tất cả các loại được nạp trong C#?
- 29. Làm cách nào để có danh sách tất cả các assembly hiện đang được nạp?
- 30. Cách đợi cho đến khi tất cả các cửa hàng được nạp trong ExtJs?
Lý do để thực hiện ' Giao diện ApplicationContextAware' là vì khung công tác Spring cung cấp cho nó cơ hội * để truy cập bối cảnh ứng dụng . Bạn nên đặt nó trong lớp '@ Configuration' cho ngữ cảnh ứng dụng dự định. – smwikipedia
Liên kết có liên quan: http://stackoverflow.com/questions/14829258/how-can-i-get-a-list-of-instantiated-beans-from-spring – smwikipedia