Spring 将bean自动连接到JSF托管bean时的空指针
我使用SpringJavaMail和Velocity模板开发了一个电子邮件服务,如下所示 Email.javaSpring 将bean自动连接到JSF托管bean时的空指针,spring,jsf-2,dependency-injection,autowired,managed-bean,Spring,Jsf 2,Dependency Injection,Autowired,Managed Bean,我使用SpringJavaMail和Velocity模板开发了一个电子邮件服务,如下所示 Email.java @Component public class Email { private JavaMailSender mailSender; private VelocityEngine velocityEngine; @Autowired private ApplReviewService app
@Component
public class Email {
private JavaMailSender mailSender;
private VelocityEngine velocityEngine;
@Autowired
private ApplReviewService applReviewService;
@Autowired
private UserService userService;
public void setUserService(UserService userService ) {
this.userService=userService;
}
public UserService getuserService() {
return userService;
}
@Autowired
@Required
public void setMailSender(JavaMailSender mailSender) {
this.mailSender = mailSender;
}
public VelocityEngine getVelocityEngine() {
return velocityEngine;
}
@Autowired
@Required
public void setVelocityEngine(VelocityEngine velocityEngine) {
this.velocityEngine = velocityEngine;
}
//方法发送电子邮件。
}
My Spring.xml
<context:component-scan base-package="com.test.common"/>
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
</bean>
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<value>
resource.loader=class
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</value>
</property>
</bean>
@ManagedBean(name="person")
@SessionScoped
Public class Person{
@Autowired
private Email email ; // getter and setter for this.
}
resource.loader=class
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
@ManagedBean(name=“person”)
@会议范围
公共阶层人士{
@自动连线
私人电子邮件;//此邮件的getter和setter。
}
我正在尝试将我的电子邮件类自动连接到Jsf managedBean中,但我遇到了空指针异常。我错在哪里。您不能在JSF管理的bean中注入这样的Springbean。换成
@ManagedBean(name="person")
@SessionScoped
Public class Person{
@ManagedProperty(value="#{email}")
private Email email ; // getter and setter for this.
}
另见: