使用spring的依赖注入问题,请大家指指

zhou_lucky 2008-08-25 09:37:45
大家好,我在使用spring的依赖注入时不好使呢,代码如下:
applicationContext.xml:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username" value="zhoubao_test"/>
<property name="password" value="zhoubao"/>
</bean>

业务逻辑javabean:
public class UserManagerImpl implements UserManager
private UserDao userDao;
private MailSender mailSender;

static Logger logger = null;
public UserManagerImpl(){
logger = Logger.getLogger(this.getClass().getName()+".class");
}
public void setUserDao(UserDao userDao)
{
this.userDao = userDao;
}
public void setMailSender(MailSender mailSender)
{
this.mailSender = mailSender;
}
/**
* 新增用户
* @param user 新增用户的用户名
* @param pass 新增用户的密码
* @param email 新增用户的电子邮件
* @return 新增用户的主键
*/
public int addUser(String user , String pass , String email)
throws Exception
{
try
{
User u = new User();
u.setUser(user);
u.setPass(pass);
u.setEmail(email);
userDao.save(u);
SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom("zhoubao_test@163.com");
msg.setSubject("注册成功通知");
msg.setTo(email);
msg.setText(
"Dear "
+ user
+ ", 谢谢你注册,您的用户名是: "
+ user+" 密码:"+pass);
logger.info("发送邮件====="+mailSender);
mailSender.send(msg);
logger.info("邮件发送成功");
return u.getId();
}catch(MailException ex){
System.err.println(ex.getMessage());
logger.error("新增用户时发送邮件出现异常", ex);
throw new Exception("新增用户时发送邮件出现异常");
} catch (Exception e)
{
e.printStackTrace();
logger.error("新增用户时出现异常", e);
throw new Exception("新增用户时出现异常");
}
}
===========================
logger.info("发送邮件====="+mailSender);打印出来是:
2008-08-25 09:24:09,125 INFO (com.zb.service.impl.UserManagerImpl.class:101) - 发送邮件=====null
为什么会是null呢? 请大家指教。
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyangxiaokang6 2008-08-26
  • 打赏
  • 举报
回复
使用构造函数的方法注入就不用非的配置了。
ee4456 2008-08-25
  • 打赏
  • 举报
回复
依赖注入,就是在你的bean生成的时候,往你的属性里真正的放入一个对象..不注入,就是只声明了,而没有new
zhou_lucky 2008-08-25
  • 打赏
  • 举报
回复
我找到问题了,原来是我没有在业务javabean的配置里加入:
<bean id="mgr" class="com.zb.service.impl.UserManagerImpl">
<property name="userDao" ref="userDao"/>
<property name="mailSender" ref="mailSender"/>
<property name="message" ref="mailMessage"/>
</bean>

67,517

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧