728x90
Spring 이메일, SNS 메세지 보내기
interface
MessageService
//긁지않은 개발자
public interface MessageService {
boolean sendMessage(String msg, String rec);
}
EmailService
//긁지않은 개발자
public class EmailService implements MessageService {
public boolean sendMessage(String msg, String rec) {
System.out.println(rec + "에게 " + msg + "를 이메일로 전송합니다.");
return true;
}
}
TwitterService
//긁지않은 개발자
public class TwitterService implements MessageService {
public boolean sendMessage(String msg, String rec) {
System.out.println(rec + "에게 " + msg + "를 트위터로 전송합니다.");
return true;
}
}
AppConfig
//긁지않은 개발자
@Configuration
public class AppConfig {
@Bean
public EmailService emailService() {
return new EmailService();
}
@Bean
public TwitterService twitterService() {
return new TwitterService();
}
@Bean
public MyApplication myApplication1() {
MyApplication myApplication = new MyApplication();
myApplication.setService(emailService());
return myApplication;
}
@Bean
public MyApplication myApplication2() {
MyApplication myApplication = new MyApplication(twitterService());
return myApplication;
}
}
AppMain01
//긁지않은 개발자
public class AppMain01 {
public static void main(String[] args) {
AbstractApplicationContext context =
new AnnotationConfigApplicationContext(AppConfig.class);
MyApplication myApplication1 = context.getBean("myApplication1", MyApplication.class);
myApplication1.processMessage("[안녕하세요.]", "h0-0cat@tistory.com");
MyApplication myApplication2 = context.getBean("myApplication2", MyApplication.class);
myApplication2.processMessage("[안녕하세요.]", "h0-0cat@tistory.com");
context.close();
}
}
실행 결과
h0-0cat@tistory.com에게 [안녕하세요.]를 이메일로 전송합니다.
h0-0cat@tistory.com에게 [안녕하세요.]를 트위터로 전송합니다.
(이메일 )에게 [입력할 메세지]를 000로 전송합니다.

728x90
'SPING > Spring 이용하기' 카테고리의 다른 글
[Spring] Spring @Component뜻과 사용법 (0) | 2023.06.14 |
---|---|
[Spring] Spring @Annotation(어노테이션) 이해하기 (0) | 2023.06.13 |
[Spring] Spring 암호화 , 2가지방법 (0) | 2023.06.13 |
[Spring] Spring 문자 메세지 전송 출력 (0) | 2023.06.13 |
[Spring] Spring 시작하기 (@Configuration,@Bean) (0) | 2023.06.13 |