본문 바로가기

분류 전체보기591

Cannot resolve symbol 'SpringBootApplication' Cannot resolve symbol 'SpringBootApplication' 해결 : 아래처럼 Gradle에서 Reload All Gradle Projects 누르면 해결됨 2022. 10. 3.
전략 패턴 템플릿 메서드 패턴은 부모 클래스에 변하지 않는 템플릿을 두고, 변하는 부분을 자식 클래스에 두어서 상속을 사용해서 문제를 해결한다. 전략 패턴은 변하지 않는 부분을 Context 라는 곳에 두고, 변하는 부분을 Strategy 라는 인터페이스를 만들고 해당 인터페이스를 구현하도록 해서 문제를 해결한다. 상속이 아니라 위임으로 문제를 해결한다. Context가 변하지 않는 템플릿 역할을 하고, Strategy는 변하는 알고리즘 역할을 한다. 알고리즘 제품군을 정의하고 각각을 캡슐화하여 상호 교환 가능하게 만든다. 전략을 사용하면 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. Context는 내부에 Strategy strategy 필드를 가지고 있다. 이 필드에 변하는 부분인 St.. 2022. 10. 3.
템플릿 메서드 패턴 템플릿 메서드 패턴 : 부모 클래스에 변하지 않는 코드를 두고, 변하는 부분은 자식 클래스에서 상속과 오버라이딩을 사용해서 처리하는 패턴, 상속과 오버라이딩을 통한 다형성으로 문제를 해결함. 아래 코드에서 execute() 부분은 변하지 않는 부분이고, call()부분은 자식에서 상속받아서 사용할 변하는 부분이다. public abstract class AbstractTemplate { public void execute(){ long startTime = System.currentTimeMillis(); //비즈니스 로직 실행 call(); // 상속 //비즈니스 로직 종료 long endTime = System.currentTimeMillis(); long resultTime = endTime - s.. 2022. 10. 2.
타임리프 기본 표현식 타임리프 기본 표현식 Simple expressions: Variable Expressions: ${...} Selection Variable Expressions: *{...} Message Expressions: #{...} Link URL Expressions: @{...} Fragment Expressions: ~{...} Literals Text literals: 'one text', 'Another one!',… Number literals: 0, 34, 3.0, 12.3,… Boolean literals: true, false Null literal: null Literal tokens: one, sometext, main,… Text operations: String concatenatio.. 2022. 9. 25.