본문 바로가기

스프링4

[JAVA, Spring ] equals, hashcode 객체 간 비교를 위해 사용함. 만약 구현이 안되있으면 비교 혹은 리스트, set에서 객체를 포함하고 있는지 여부를 판단하지 못함. 이펙티브 자바에서도 가르쳐주듯 클래스 선언 시 무조건 만들어야함. 자세한 내용은 시간나면 업데이트 하겠음. 요렇게 구현해야 객체의 속성을 비교하여 같은 객체인지 비교할 수 있게 됨. 아니면 메모리 주소로 같은 주소를 참조하고 있는지 판단하므로 안됨. 나~~중에 업데이트 하겠음 2023. 6. 12.
자바 스프링의 AOP구현에 사용되는 도구 2가지 0. AOP란? 개발을 하다보면 공통 로직이 생길 수 밖에 없다. 예를들면 예외처리, 시간 측정 등이 해당된다. 이러한 공통 로직을 줄이고 핵심 로직을 부각시키기 위한 것이 AOP의 특징이다. 1. 포스팅의 목표 AOP구현에 사용되는 도구를 알아보고 적재 적소에 잘 활용할 수 있어지는 것이 이번 포스팅의 목표이다. 2. 사전 용어 정리 Aspect : 여러 객체에 공통적으로 적용되는 로직 Joinpoint : 프로그램이 실행 중 발생하는 메서드, 생성자, 필드 값 변경 등을 가르키는 특수한 지점 Advice : 특정 Joinpoint의 Aspect에 의한 동작. 대상 객체의 Joinpoint에 Weaving되어 동작할 수 있는 코드. Weaving : Aspect 클래스에 정의 한 Advice 로직을 타.. 2023. 3. 19.
Tomcat과 Netty 둘 다 자바로 만들어진 WS이다. Netty : 비동기적인 입출력 모델을 사용하여 높은 성능을 제공 특징 Netty Tomcat 프로토콜 다양한 프로토콜 지원 HTTP 서버 및 서블릿 컨테이너 비동기 입출력 지원 미지원 이벤트 기반 지원 미지원 스레드 모델 다양한 스레드 모델 지원 고정 스레드 풀 메모리 사용량 적음 큼 높은 처리량 가능 상대적으로 낮음 커스터마이징 고급 기능 구현 가능 및 모듈화 용이 설정 변경만 가능 성능 높음 상대적으로 낮음 Netty는 다양한 프로토콜을 지원하며, 비동기 입출력 및 이벤트 기반 모델을 사용하여 높은 처리량을 제공함. 또한 다양한 스레드 모델을 지원하고 메모리 사용량이 적음. 커스터마이징이 용이하며, 고급 기능 구현이 가능 Tomcat은 HTTP 서버 및 서블릿 컨테.. 2023. 2. 28.
JPA, Hibernate, Spring Data JPA JPA를 입문하면 하나를 배우는데 여러가지 용어가 나온다. Hibernate, Spring Data JPA, JPA, Repository, Entitymanager, Entitymanagerfactory, CRUD Repository 등 헷갈리게 많이 나온다. 이 용어들을 정리하는 시간을 가져보려고 한다. 1. JPA - RDB의 테이블과 관계를 자바의 객체와 객체들간의 관계로 표현하여 데이터베이스를 조작하는 기술을 의미 javax.persistence JPA는 javax.persistence 패키지에 정의되어 있으며 EntityManager, EntityManagerFactory 인터페이스와 OnetoMany, OnetoOne 등 다양한 어노테이션이 포함되어 있다. 2. Hibernate - JPA의 .. 2023. 1. 26.