SPING/Spring 이용하기

[Spring] Spring 문자 메세지 전송 출력

h0-0cat 2023. 6. 13. 17:56
728x90

Spring 문자 메세지 전송 출력( 전송 메세지 글자 출력 )

 

 

package 4개 만들어서 작업

 

interface

Messaging.java

// 긁지않은 개발자
public interface Messaging{
	public void sendMessage();
}

 

MQMessaging.java (문자 전송 메세지)

// 긁지않은 개발자
public class MQMessaging implements Messaging{
	@Override
    public void sendMessage(){
    	System.out.println("실시간 메세지를 전송합니다.")
    }
}

 

SMSMessaging.java (단문 메세지)

// 긁지않은 개발자
public class SMSMessaging implements Messaging{
	@Override
    public void sendMessage(){
    	System.out.println("단문 메세지 전송")
    }
}

 

MMSMessaging.java(장문 메세지 )

// 긁지않은 개발자
public class MMSMessaging implements Messaging{
	@Override
    public void sendMessage(){
    	Systm.out.println("장문 메세지 전송")
    }
}

 

Communication.java

// 긁지않은 개발자
public class Communication{
	private Messaging messaging;
    
    public void setMessaging(Messaging messaging){
    	this.messaging = messaging;
    }
    public void Communicat(){
    	messaging.sendMessage();
    }
}

 

AppConfig.java

// 긁지않은 개발자
@Configuration
public class AppConfig {

	@Bean
	public Messaging messaging1() {
		return new MQMessaging();
	}
	
	@Bean
	public Messaging messaging2() {
		return new MMSMessaging(); // 
	}
	
	@Bean
	public Communication communication1() {
		Communication communication = new Communication();
		communication.setMessaging(messaging1()); //
		return communication;
	}
	
	@Bean
	public Communication communication2() {
		Communication communication = new Communication();
		communication.setMessaging(messaging2()); //
		return communication;
	}
	
	
	@Bean
	public Communication communication3() {
		Communication communication = new Communication();
		communication.setMessaging(new SMSMessaging());
		return communication;
	}
}

 

APP01.java(실행)

// 긁지않은 개발자

public class APP01{
		//AAC ,                                  ACAC
		AbstractApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
		
		Communication communication1 = context.getBean("communication1", Communication.class);
		communication1.Communicat();
		
		Communication communication2 = context.getBean("communication2", Communication.class);
		communication2.Communicat();
		
		Communication communication3 = context.getBean("communication3", Communication.class);
		communication3.Communicat();
		
		context.close();
	}
}

실행 결과

실시간 메세지를 전송합니다.

장문 메세지 전송

단문 메세지 전송

 

728x90