2012-12-19 2 views
0

이 자바 무엇을 의미 하는가 스프링 프레임 워크를 사용하여 ... 난 javamailsender 클래스 내가이 코드는 스프링 프레임 워크를 사용하여 메일을 보냅니다 ... 전에 같은 건 본 havn't는 새로운 무언가를 보았다잎이 넓은 메일 보낸 사람 클래스

public MimeMessagePreparator buildMimeMessagePreparator(final HashMap<String,Object> props) { 
    MimeMessagePreparator preparator = new MimeMessagePreparator() { 
     public void prepare(MimeMessage mimeMessage) throws Exception { 
      EmailTarget emailUser = (EmailTarget) props.get(EmailPropertyType.USER.getType()); 
      EmailInfo info = (EmailInfo) props.get(EmailPropertyType.INFO.getType()); 
      MimeMessageHelper message = new MimeMessageHelper(mimeMessage, (info.getAttachments() != null && info.getAttachments().size() > 0)); 
      message.setTo(emailUser.getEmailAddress()); 
      message.setFrom(info.getFromAddress()); 
      message.setSubject(info.getSubject()); 
      if (emailUser.getBCCAddresses() != null && emailUser.getBCCAddresses().length > 0) { 
       message.setBcc(emailUser.getBCCAddresses()); 
      } 
      if (emailUser.getCCAddresses() != null && emailUser.getCCAddresses().length > 0) { 
       message.setCc(emailUser.getCCAddresses()); 
      } 
      String messageBody = info.getMessageBody(); 
      if (messageBody == null) {     
       messageBody = buildMessageBody(info, props); 
      } 
      message.setText(messageBody, true); 
      for (Attachment attachment : info.getAttachments()) { 
       ByteArrayDataSource dataSource = new ByteArrayDataSource(attachment.getData(), attachment.getMimeType()); 
       message.addAttachment(attachment.getFilename(), dataSource); 
      } 
     } 
    }; // why there is a semicolon here 
    return preparator; 

} 

답변

2

세미콜론을 혼동하는 경우 코드는 MimeMessagePreparator의 하위 클래스 인 익명의 내부 클래스를 만듭니다. 세미콜론은 준비 변수에 대한 할당의 끝입니다.

관련 문제