当我试图在POJO中使用它时,我的@Singleton@Startup bean实例是空的,Tomee正在成功地创建、启动和放置在“我的Singleton容器”中。我已经尝试过和没有POJO的@ManagedBean类比。我是否错过了规范或教程中的一些基本内容?
非常感谢,特德·S。
Tomee启动日志:
Dec 21, 2014 2:48:24 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Started Ejb(deployment-id=MyStartupBean, ejb-name=MyStartupBean, container=My Singleton Container)
MyStartupBean.java:
@Startup
@Singleton
public class MyStartupBean
{
private final Properties _companyNames = new Properties();
@PostConstruct
public void init()
{
_companyNames.put("key1", "ABC Company");
_companyNames.put("key2", "XYZ Company");
}
public Properties getCompanyNames()
{
return _companyNames;
}
}
MyPojo。爪哇:
public class MyPojo
{
@EJB
private MyStartupBean _startupBean;
private String _companyName;
public MyPojo(String inputKey)
{
Properties companyNames = _startupBean.getCompanyNames(); // <== _startupBean is null
String name = companyNames.getProperty(inputKey);
setCompanyName(name);
}
public void setCompanyName(String name)
{
_companyName = name;
}
public String getCompanyName()
{
return _companyName;
}
}
你可能正在实例化你的pojo,不是吗?
MyPojo mp = new MyPojo(someInput);
当你这么做的时候,注射不起作用。您需要使用托管引用来处理CDI/EJB组件。
我已经编写了一个EJB3业务逻辑并部署在GlassFish下。现在,我将通过同一个容器中的客户机,用@EJB注入接口来测试它。 数据源bean是一个在构造函数中设置连接并通过get()方法释放的无状态bean
我正在使用Spring Framework/Data/HATEOAS,并试图添加dozer。 和以下汇编程序: 所以,-我对豆子和注射很陌生-但我想工厂的豆子是?应该?来注入映射器。但是映射器肯定是空的。我知道我做得不对,但我做错了什么?
我试图在CDI注入的帮助下实现某种“插件特性”。但我遇到了一些麻烦,我想我可能会从我的同事“堆垛工”那里得到一些外部的观点:-) 到目前为止,我已经做到了这一点: 当我“运行”这个时,两个字段都会被注入相应的实例。但当我尝试像这样更“动态”地注入它们时: 然后我会得到这样一个例外: 这对我来说似乎很奇怪,因为CDI显然“知道”我感兴趣的实例,因为直接注入类型化字段是有效的。所以我想这一定和资格赛有
那么如何解决这个问题呢?为什么为空。
我试图实现一个< code > ContainerRequestFilter 来检查一些东西。最终,它将从SSL客户机证书中提取通用名称,但我还没有做到这一点。过滤器运行在Grizzly HTTP服务器上(Grizzly 2.3.8,没有servlet容器),位于JAX-RS资源(Jersey 2.6)的前面。 当我尝试将注入过滤器时,它为null。 将请求注入到 JAX-RS 资源中,注入是成功
本文向大家介绍Mybatis防止sql注入的实例,包括了Mybatis防止sql注入的实例的使用技巧和注意事项,需要的朋友参考一下 sql注入大家都不陌生,是一种常见的攻击方式,攻击者在界面的表单信息或url上输入一些奇怪的sql片段,例如“or ‘1'='1'”这样的语句,有可能入侵参数校验不足的应用程序。所以在我们的应用中需要做一些工作,来防备这样的攻击方式。在一些安全性很高的应用中,比如银行