java - 我们可以在Java独立应用程序(Swing)中实现Spring Autowiring 吗

标签 java spring swing

我已经使用 Java Swing 创建了一个应用程序。现在,我想在这个应用程序中集成 Spring Autowiring (依赖注入(inject))。

心中的疑问是,要创建 UI(用户界面),我将使用“new”关键字,但要使用 DAO 和 POJO 类,我希望它们自动连接。

有人可以建议并帮助我吗?

最佳答案

不确定我是否理解正确。我假设,您想在 UI 类中 Autowiring 您的 DAO、服务等。但为了做到这一点,这些 UI 类本身必须是 Spring Bean。

您可以做的是在创建 Spring 应用程序上下文时在每个 UI 类中注册它。为此,您可以创建以下类:

public class BeanProvider {

    private static ApplicationContext applicationContext;

    /**
     * Autowires the specified object in the spring context
     * 
     * @param object
     */
    public static void autowire(Object object) {
        applicationContext.getAutowireCapableBeanFactory().autowireBean(object);
    }

    @Autowired
    private void setApplicationContext(ApplicationContext applicationContext) {
        BeanProvider.applicationContext = applicationContext;
    }

}

然后在每个 UI 类的构造函数中:

public MyUiClass(){
BeanProvider.autowire(this);
}

关于java - 我们可以在Java独立应用程序(Swing)中实现Spring Autowiring 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39349867/

相关文章:

java - 在通过 Socket 接收数据时设置超时

java - 如何在 spring RestController 中处理字符编码

java - 如何在Spring MVC中的@RequestParam中获取LIST输入?

java - 如何使用 getComponent() 设置子组件的复选框 setSelected()

java - 使用 Joda 时间库从 UTC 到 IST 的转换在 JAVA 中返回相同的值

java函数读取文件夹中的文件

java - 使用 Hibernate Criteria 投影限制选定字段

java - 如果主机离线,重试 java RestTemplate HTTP 请求

java - 我正在尝试使用 gui 制作一个三角形面积计算器,但是当我编译它时,我不断收到这个奇怪的错误

java - ActionListener 最佳实践