这是一个使用 Netbeans 开发的 glassfish 上的 jsf 项目。我尝试将我的 bean 连接到我的常规 java 类。
这是我的理解:
- 托管 bean 或它们的 CDI 等效项负责处理与 UI 相关的用户数据(例如,用户输入)
- 业务逻辑在常规 Java 类中实现
- 2 个托管 bean 或其 CDI 等效项可以与 @ 通信注射
我缺少的是:bean 如何与常规 java 类通信?(我的业务逻辑在哪里?)
换句话说,我希望我可以通过使用 bean 作为其构造函数的参数来运行我的 java 类!
我试过:
- 在我的java类中包含一个@Inject注释,但这不起作用(bean没有注入,保持为空)
就像
public class myJavaProgram (){
@Inject
UserInputBean userInputBean;
//my business logic using the properties of userInputBean here... //does not work, userInputBean is null!
}
- 在我的 java 类的构造函数中将 bean 的属性作为参数传递。有效,但丑陋:为什么我不能简单地将整个 bean 作为参数直接传递给构造函数?但是当我这样做时,我的 java 类中的 bean 上再次出现空指针异常。
我错过了什么吗?谢谢!