이제 외부 호출 전용으로 정적 메서드가 포함된 도구 클래스가 생겼습니다.
이제 이러한 정적 메서드를 호출하기 전에 기본 매개변수를 설정하는 메서드나 코드 블록이 호출되기를 바랍니다.
정적 코드 블록을 추가하는 것과 유사하지만 정적 코드 블록은 정적 메서드가 호출될 때마다 실행되지 않고 클래스가 초기화될 때 한 번만 실행되므로 내 요구 사항을 충족하지 않습니다.
기본적인 해결 방법은 이 도구 클래스에 정적 메서드를 추가하고 원하는 설정을 지정하는 것입니다. 하지만 이 경우에는 다른 모든 정적 메서드에서 이 메서드를 호출하는 문을 추가해야 합니다. 여기에는 정적 메서드가 많기 때문입니다. , 벌써 30개가 넘었고, 더 많아질 테니 게으른 마음으로 해결 방법이 없을지 여쭤보고 싶습니다.
흠. . 보충 설명으로 내 프로젝트 프레임워크는 spring mvc를 기반으로 합니다. 댓글에서 AOP를 읽은 후 Baidu에 가서 이것이 내 요구 사항을 충족할 수 있다는 것을 발견했습니다.
순수한 자바 코드라면 제가 생각해도 제 요구사항을 해결하기 어려울 것 같아요.
扔个三星炸死你2017-06-12 09:27:34
정적을 사용하면 안 됩니다.
처음부터 싱글톤이면
초기화가 가능합니다.
정적은 클래스가 로드될 때 실행되는 블록을 정의할 수 있지만
일반적으로 적용할 수는 없습니다.
滿天的星座2017-06-12 09:27:34
파생 클래스를 사용해 구현할 수도 있지만, 오히려 번거로울 뿐이고 주제의 편의성과 속도 목표를 충족시키지 못합니다.
다양한 메소드에 비해 각 정적 메소드에 한 줄의 코드를 추가하는 것이 더 빠릅니다.
질문을 복사해서 붙여넣기만 하면 빠르게 완료됩니다.
三叔2017-06-12 09:27:34
메소드 매개변수에 콜백을 추가하면 됩니다. 예를 들어 원래는 다음과 같이 작성되었습니다: public static void doSomeThing(Object args1)
이제 이렇게 작성되었습니다