일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 이펙티브자바
- 압구정로데오맛집
- 서오릉
- 한우오마카세
- JUnit5
- 녹는다녹아
- 아일랜드리솜
- @ExceptionHandler
- 인생소고기집
- Java
- 압구정곱떡
- 상암동맛집
- EffectiveJava
- 청춘면가
- 맛집
- 토비의스프링
- 인생맛집
- 경기족발
- 데이트
- 이속우화
- 고기김치
- 앤드밀
- 닭껍질만두
- spring
- 데이트코스
- 셀렉티
- 서오릉맛집
- exceptionHandler
- 상암동
- @ControllerAdvice
- Today
- Total
목록Dev_.log (11)
Hyeonuk_.log
JPQL (Java Persistence Query Language) 특징 - 객체지향 쿼리 언어다. 따라서 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. - SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. - 결국 SQL로 변환된다. SELECT 문 SELECT m FROM Member AS m where m.username = 'Hello' 엔티티와 속성은 대소문자 구분한다, Member는 클래스 명이 아니라 엔티티명이다. 별칭은 필수이다. TypeQuery, Query 작성한 JPQL을 실행하려면 쿼리 객체를 만들어야 한다. 쿼리 객체는 TypeQuery와 Query가 있는데 반환할 타입을 명확하게 지정할 수 있으면 TypeQuery 객체를 사용하고, 반환..

요즘 느끼는 거지만 정말 기록만이 살길이다. 토비의 스프링 6장을 읽으며 1권에서 가장 중요한 부분은 AOP이며 6장이 제일 중요하다고 느꼈다. 물론 나는 지금 두번째 읽고 있지만 이제 슬슬 이해가 가는 느낌이다. 정리를 한번하고 다음에 한번 더 읽을 때, 이 글을 보여 수정을 해볼 생각이다. 일단 AOP 관련 용어에 대한 개념을 확실하게 가지고 가야한다. • 타깃 타깃은 부가기능을 부여할 대상이다. 핵심기능을 담은 클래스일 수도 있지만 경우에 따라서는 다른 부가기능을 제공하는 프록시 오브젝트일 수도 있다. • 어드바이스 어드바이스는 타깃에게 제공할 부가기능을 담은 모률이다. 어드바이스는 오브젝트 로 정의하기도 하지만 메소드 레벨에서 정의할 수도 있다. 어드바이스는 여러 가지 종류가 있다. Methodl..

토비의 스프링 3장을 읽다가 템플릿/콜백 연습 기록, 아래의 내용은 모두 토비의 스프링 참고하였습니다. public class CalcSumTest { @Test public void sumOfNumber() throws IOException { Calculator cal = new Calculator(); int sum = cal.calcSum(getClass().getResource("numbers.txt").getPath()); assertThat(sum, is(10)); } } 테스트코드 작성 후 실제 구현 코드 작성 public class Calculator { public Integer calcSum(String filepath) throws IOException { BufferedReader..

요즘 토비의 스프링을 다시 읽고 있다. 두번째 읽고 있는 것인데 첫번째 읽을 때보다 이해도 잘되고 더 얻어가는게 많다. 2장을 읽고 있는데 2장의 소스코드를 따라서 작성해보다가 오류가 났던 것을 적어두려한다. @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = DaoFactory.class) public class UserDaoTest { @Autowired private static ApplicationContext applicationContext; private static UserDao userDao; private static User user1; private static User user2; private static Use..
https://book.naver.com/bookdb/book_detail.nhn?bid=8064518 이펙티브 자바 JAVA, 더 깔끔하고, 정확하고, 안전하며, 재사용이 쉬운 코드로 만들자!『EFFECTIVE JAVA(이펙티브 자바)』는 효율적이면서도 잘 설계된 자바 프로그램을 구현하기 위해 알아야 할 지침 78가지를 소개 book.naver.com 이펙티브 자바 2판, 규칙9를 읽고 정리를 하려 한다. 규칙 9에서는 hashCode 메서드에 대해 말해주고 있다. equals 메서드를 재정의하는 클래스는 hashCode 메서드도 반드시 재정의 해야한다. Object 클래스 명세에서는 아래와 같이 hashCode 규약을 말하고 있다. - 응용프로그램 실행 중에 같은 객체의 hashCode를 여러 번 호..
요즘은 벼르고 있던 '이펙티브자바'를 읽고 있다. 구매한지는 2년이 넘은 것 같다. 새로운 책이 나오기도 했지만 일단 집에 있는 것을 읽고 정리해보려 한다. 조금이나마 지식이 많아졌으면 좋겠다. https://book.naver.com/bookdb/book_detail.nhn?bid=8064518 이펙티브 자바 JAVA, 더 깔끔하고, 정확하고, 안전하며, 재사용이 쉬운 코드로 만들자!『EFFECTIVE JAVA(이펙티브 자바)』는 효율적이면서도 잘 설계된 자바 프로그램을 구현하기 위해 알아야 할 지침 78가지를 소개 book.naver.com equals 메서드는 재정의가 쉬워 보이지만 막상 재정의하려면 어려움을 느낀다. 롬복이 나오면서 많이 쉬워진 것을 느낀다. 아래의 조건 중에 하나라도 만족한다면,..
요즘 개발 관련 책, 블로그, 유튜브 등 다양한 곳에서 TDD(Test Driven Development)에 대해서 다루어지고 있다. 사실 요즘이 아니라 계속 중요성이 강조되었을 것이다. 내가 관심을 갖은게 최근.... 매번 구글링 하는 것이 힘들어 블로그에 정리를 하려한다. Service 레이어의 단위테스트는 서비스만을 테스트해야 한다고 생각한다. 그래서 Controller와 Repository의 연결을 끊어야한다. 연결을 끊지 않으면 데이터 준비, DB 연결, 셋팅 등등..배보다 배꼽이 더 큰 상황이 벌어지게 된다. 아래의 예제를 봐보자. 실제 테스트를 위해 Repository와의 의존성이 필요하고 데이터들도 필요하다. @Service public class MemberServiceImpl imple..
평소 Static에 대해 제대로 알지 못하고 사용한 것 같아 이번 기회에 한번 정리하고 넘어가려고 한다. static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스턴스변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static멤버변수)는 인스턴스에 관계없이 같은 값을 갖는다. 그 이유는 하나의 변수를 모든 인스턴스가 공유하기 때문이다. static이 붙은 멤버변수와 메서드, 그리고 초기화 블럭은 인스턴스가 아닌 클래스에 관계된 것이기 때문에 인스턴스를 생성하지 않고도 사용할 수 있다. 인스턴스 메서드와 static 메서드의 근본적인 차이는 메서드 내에서 인스턴스 멤버를 사용하는가의 여부에 있다. static이 사용될 수 있는 곳 - 멤버변수, 메서드, 초기화..