Auto pointer null bean to JSF managed bean

I developed an email service using Spring Java mail and a speed template as shown below.

Email.java

@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; } 

// Way to send email. }

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. } 

I am trying to autowire my email class in Jsf managedBean, but I am getting an exception from a null pointer. Where am I mistaken.

+4
source share
1 answer

You cannot enter a Spring bean, as in a JSF managed bean. Change it to

 @ManagedBean(name="person") @SessionScoped Public class Person{ @ManagedProperty(value="#{email}") private Email email ; // getter and setter for this. } 

See also:

+7
source

Source: https://habr.com/ru/post/1439247/


All Articles