[Sping]HelloWorldアプリケーションの作成(1)
11061 ワード
既存のHelloWorld
メッセージ取得コンポーネント
public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
HelloWorldアプリケーションの拡張性が低い.別のメッセージを印刷したい場合は、どのように変更しますか?外部から入出力されます.public class HelloWorldWithCommandLine {
public static void main(String[] args) {
if (args.length > 0) {
System.out.println(args[0]);
} else {
System.out.println("Hello World!");
}
}
}
コマンドラインでメッセージを受信すると、他のメッセージを出力できます.しかし,今回はメッセージ出力コンポーネントとメッセージ入力を受信するコンポーネントを別々にプログラミングし,メンテナンスを容易にした.メッセージ取得コンポーネント
public interface MessageProvider {
String getMessage();
}
public class HelloWorldMessageProvider implements MessageProvider {
@Override
public String getMessage() {
return "Hello World!";
}
}
メッセージ出力コンポーネントpublic interface MessageRenderer {
void render();
void setMessageProvider(MessageProvider messageProvder);
MessageProvider getMassageProvider();
}
public class StandardOutMessageRenderer implements MessageRenderer {
private MessageProvider messageProvider;
@Override
public void render() {
if (messageProvider == null) {
throw RuntimeException(
"You must set the property messageProvider of class:"
+ StandardOutMessageRenderer.class.getName());
}
System.out.println(messageProvider.getMessage());
}
@Override
public void setMessageProvider(MessageProvider messageProvider) {
this.messageProvider = messageProvider;
}
@Override
public MessageProvider getMassageProvider() {
return this.messageProvider;
}
}
前述したように、MessageProviderはメッセージの取得を担当し、MessageReaderはメッセージの出力を担当します.main()メソッドを作成できます.public class HelloWorldDecoupled {
public static void main(String[] args) {
MessageRenderer mr = new StandardOutMessageRenderer();
MessageProvider mp = new HelloWorldMessageProvider();
mr.setMessageProvider(mp);
mr.render();
}
}
これにより、世界中のアプリケーションのメンテナンスと柔軟性が容易になります.Reference
この問題について([Sping]HelloWorldアプリケーションの作成(1)), 我々は、より多くの情報をここで見つけました https://velog.io/@rjqnrdl1127/Spring-HelloWorld-애플리케이션-만들기-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol