带有桌面应用程序的CDI

格里高利

使用CDI有一些业务逻辑(@ javax.inject.Inject和@ javax.persistence.PersistenceUnit)。想要在desctop应用程序内部重用它。

将beans.xml添加到META-INF文件夹中。将Java 7设置为默认值。写了简单的课:

public class Main {

       @Inject
       private static AggregatedUserQueries aggregatedUserQueries;

       public static void main(String[] args) {
             System.out.println(aggregatedUserQueries);
       }
}

当然,它会向控制台输出“ null”。有什么方法可以在桌面应用程序中使用CDI?

油酸

如前所述@Boris Pavlović,您可以引导Weld并以编程方式获取bean。但是,也有可能使注射工作。您需要在桌面应用程序中定义将“替换”您的的启动方法public static void main(String ... args)考虑:

public class Main {

    @Inject
    private Bean bean;

    public void startup(@Observes ContainerInitialized event) {
        this.bean.sayHello();
    }
}

startup()引导Weld时将调用方法。您可以通过org.jboss.weld.environment.se.StartMain作为主类执行来实现

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有环境变量文件的桌面应用程序

带有桌面应用程序的C ++ MicroServices

如何在Windows应用商店中发布带有下载链接的桌面应用程序?

在Tomcat上使用带有Weld CDI的Jersey部署应用程序时出错

带有 CDI 的 Java 后端 RESTful 服务器应用程序

有桌面RSS应用程序吗?

使用Google帐户对带有后端的本机桌面应用程序进行身份验证

是否可以仅使用 C 来制作桌面应用程序(带有 GUI)?

R闪亮,因为Windows桌面应用程序创建带有警告的文本文件

使用配置转换在带有MSI部署的桌面应用程序的VSTS上构建/发布流程

带有自定义uri模式的桌面应用程序,令牌请求中的“丢失方案”

JAVA桌面应用程序和带有浏览器的HTML

带有Electron的TestCafe:确定应用程序是否在Windows桌面上可见

如何以简单的方式重新安装所有带有桌面文件的应用程序?

如何通过桌面/控制台应用程序使用带有承载令牌的ASP.NET Web API 2.0

带有多个应用程序的瓶子

Eclipse桌面应用程序

Java桌面应用程序

桌面应用程序具有多个Google访问权限

没有服务器的NodeJS桌面应用程序?

如何为现有的Web应用程序创建桌面应用程序?

将现有的Web应用程序转换为桌面应用程序

从应用程序开始的 CDI bean

PHP应用程序到桌面应用程序

何时使用桌面应用程序与网络应用程序?

从桌面应用程序恢复挂起的UWP应用程序

在带有 WSL2 的 Windows 10 Docker 桌面中,docker 容器在哪里以及 Linux 容器如何运行 java 应用程序,而不是 windows nanoserver?

如何在不安装任何数据库服务器的情况下在本地运行带有数据库的桌面应用程序?

不一样()不适用于 $ _POST。带有swing的JAVA桌面应用程序将POST发送到php文件