My beans.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
version="1.1" bean-discovery-mode="annotated">
</beans>
我的服务(后端类型的EJB)如下所示:
import javax.inject.Inject;
import javax.transaction.Transactional;
@Default
@Transactional(Transactional.TxType.REQUIRED)
public class UserServiceImpl implements UserService {
@Inject
private UserDao userDao;
@Inject
private UserMapper mapper;
而@named
注释bean使用以下(web):
import javax.inject.Inject;
import javax.inject.Named;
import org.omnifaces.cdi.ViewScoped;
@ViewScoped
@Named("indexMBean")
public class IndexMBean extends AbstractViewBean {
@Inject
private UserService userService;
Build已成功,但deploy给了我这个例外:
2018-11-12 11:28:25,706错误[org.jboss.MSC.service.fail](MSC服务线程1-2)MSC000001:无法启动服务jboss.deployment.unit。“kajava-ear-0.0.1-snapshot.ear”。WeldStartService:org.jboss.MSC.service.startService在服务jboss.deployment.unit中出现异常。“kajava-ear-0.0.1-snapshot.ear”。WeldStartService:无法在N:WELLD-001408:类型UserService的依赖关系不满足,限定符@default位于注入点[BackedAnnotatedField]@inject private hu.food.bean.indexmbean.UserService位于hu.food.bean.indexmbean.UserService(indexmbean.java:0)
您正在beans.xml
中使用annotated
发现模式,这意味着只有具有所谓Bean定义注释的Bean才会被发现并注册为Bean。请参阅CDI规范以获得属于那里的所有注释;对于您的用例,您缺少了bean作用域。
如果您从userserviceimpl
中删除@default
限定符(它没有用,反正它是添加在那里的;spec链接),并向bean添加一个作用域,它应该可以工作。根据bean的行为(从生命周期的角度来看),您可以将其设置为@applicationscoped
、@sessionscoped
、@requestscoped
、@conversationscoped
、@dependent
(、@singleton
)。
我正在尝试创建一个带有Wildfly和数据库连接的EJB Web项目,以持久化我的类“article”。但当我启动我的应用程序时,我得到了错误 包装服务; ArticleDaoImpl
我有bean,它实现了两个接口(远程和本地)。我还添加了注释,用于使用无接口视图访问bean。 我使用的原因取自JBoss AS7快速入门示例: > WeatherDataBean具有: 资源具有:
我的问题与注入EntityManager时的WELD-001408未满足依赖项和WELD-001408未满足依赖项不同。虽然这些问题涉及尝试将托管bean注入到无状态EJB中,但我正尝试进行相反的操作。 当我试图将一个@Stateless@Local interfaced bean注入到一个web托管bean中时,我得到了一个“未满足的依赖项”。我正在用各种EJB模块和web模块构建一个EAR,在
我正在尝试将两个独立的战争迁移到一个耳朵里。 运行在WebLogic 12.2.1上,所以Java EE 7(CDI 1.1和EJB 3.1)。 每个WAR都包含相同的JAR库,其中包含许多@Stateless EJB和@Named CDI托管bean: 我已经执行了几个必需的步骤: 将包含ejb和CDI托管bean的ejb-cdi.jar的打包类型更改为ejb 将ejb-cdi.jar配置为po
堆栈跟踪
org.springframework.beans.factory.unsatisfiedDependencyException:创建名为“com.sonos.arcor.service.AddressServiceTest”的bean时出错:通过字段“service”表示的未满足的依赖项;嵌套异常为org.springframework.beans.factory.noSuchBeanDefin