Попытка переместить приложение из weblogic в jboss.Застрял в проблемах, связанных с созданием bean-компонентов .... создал образец проекта для имитации проблемы.
проблема приложения упоминается в отдельном вопросе Spring bean-компоненты не создаются в соответствии с требованиями myfaces пожалуйста, проверьтеможете ли вы помочь ..... Следующее сообщение печатается на экране
"JSF 2 + Spring Integration";
, когда я использую тип include-filter для регулярного выражения, но не во время аннотации
package com.mkyong;
import javax.inject.Inject;
import com.mkyong.user.bo.UserBo;
public class UserBean {
@Inject
UserBo userBo;
public void setUserBo(UserBo userBo) {
this.userBo = userBo;
}
public String printMsgFromSpring() {
return userBo.getMessage();
}
}
UserBO
package com.mkyong.user.bo;
public interface UserBo{
public String getMessage();
}
UserBoImpl
package com.mkyong.user.bo.impl;
import com.mkyong.user.bo.UserBo;
public class UserBoImpl implements UserBo{
public String getMessage() {
return "JSF 2 + Spring Integration";
}
}
JSF-файл (xhtml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
>
<h:body>
<h1>JSF 2.0 + Spring Example</h1>
<h:outputText value="#{userBean.printMsgFromSpring()}"></h:outputText>
</h:body>
</html>
контекст приложения - рабочее сканирование
<context:component-scan base-package="com.mkyong">
<context:include-filter type="regex" expression="com.mkyong.*" />
</context:component-scan>
, тогда как когда я изменяю это значение, приложение не работает
<context:component-scan base-package="com.mkyong">
<context:include-filter type="annotation" expression="poc.filter.CustomController"/>
</context:component-scan>
пользовательский класс фильтра
package poc.filter;
import javax.inject.Named;
@Named
public @interface CustomController {
}
pom.xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<!-- JSF -->
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.13</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.13</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<!-- EL -->
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
</dependency>
<!-- Tomcat 6 need this -->
<dependency>
<groupId>com.sun.el</groupId>
<artifactId>el-ri</artifactId>
<version>1.0</version>
</dependency>
<!-- JSR-330 -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>