Хороший дизайн в весеннем ботинке для класса обработчика?
У меня есть класс обработчика, который вызывает платежи Payeezy. Вот так выглядит класс.
public class PayHandler {
//CONSTANTS
//LOGGER
private static Client webServiceClient = createClient(); // Client is an object from sun jersey library
//CONSTRUCTOR with arguments
//STATIC FUNCTIONS
//INSTANCE FUNCTIONS (private)
//PUBLIC Functions which takes a request does payment and responds
}
Вопрос в том, как следует изменить дизайн этого класса? Какие проекты есть у классов обработчиков в JAVA. Если я аннотирую службу с помощью @Service, этот объект является потокобезопасным.
1 ответ
Дизайн в порядке. Но лучше аннотировать обработчик с помощью @Service. Таким образом, вы можете использовать Dependency Injection (DI) из Spring Boot. Так что-то вроде этого возможно:
@Autowired
private PayHandler payHandler;
Если вы используете DI, существует только один экземпляр обработчика. Но методы не являются автоматически безопасными для потоков.