Cách mà ezyfox quản lý các bean
<div class="markdown-block">Dạ em chào anh, em có pull source code ezyfox server và chạy thử example hello word của anh.Em có đọc qua source code nhưng vẫn chưa hiểu hết, và có một số thắc mắc, có gì nhờ anh giúp đỡ ạ:Em thấy trong source example của anh có ví dụ sau:</div><div class="markdown-block">@Setter</div><div class="markdown-block">@EzyPrototype</div><div class="markdown-block">@EzyObjectBinding(write = false)</div><div class="markdown-block">@EzyRequestListener(GREET)</div><div class="markdown-block">public class GreetRequestHandler</div><div class="markdown-block">extends ClientRequestHandler</div><div class="markdown-block">implements EzyDataBinding {</div><div class="markdown-block">private String who;</div><div class="markdown-block">@EzyAutoBind</div><div class="markdown-block">private Greeting greeting;</div><div class="markdown-block">@Override</div><div class="markdown-block">protected void execute() throws EzyBadRequestException {</div><div class="markdown-block">responseFactory.newObjectResponse()</div><div class="markdown-block">.command(GREET)</div><div class="markdown-block">.param("message", greeting.greet(who))</div><div class="markdown-block">.session(session)</div><div class="markdown-block">.execute();</div><div class="markdown-block">}</div><div class="markdown-block">}</div><div class="markdown-block">Và trước kia em thắc mắc làm sao để biết command nào để biết listen handler tương ứng. Sau khi đọc thì em thấy anh quản lý các lớp này bằng cách đưa nó vào một cái singletonSet ở EzySimpleFactoryClass. Và lúc có request gửi lên anh dựa vào command id để lấy listener tương ứng. Tuy nhiên em "KHÔNG THẤY" đoạn anh khởi tạo và add các listener này vào singletonSet ở EzySimpleFactoryClass. Em chỉ thấy đoạn get này ở EzyUserRequestSingletonContro</div>