일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- java
- javascript
- hook
- Chakra
- Gin
- golang
- frontend
- css
- component
- satisfiles
- 티스토리챌린지
- React
- react-hook-form
- JavaSpring
- springboot
- JPA
- backend
- ReactHooks
- storybook
- 웹애플리케이션서버
- test
- designpatterns
- Spring
- typescript
- RTK
- Redux
- go
- tanstackquery
- Today
- Total
목록Java Spring (5)
bkdragon's log
자바 스프링을 공부하다보면 서블릿, 서블릿 컨테이너, 디스패처 서블릿 등의 용어를 심심치 않게 볼 수 있다. 이런 용어들은 사실 웹 기술의 발전 과정과 관련이 있다. 웹 기술은 시간이 지나면서 많은 발전을 이루어 왔는데 오늘 그 과정을 간단하게 살펴보려고 한다.초기 웹은 정적 컨텐츠만 보여주면 됐지만 시간이 지남에 따라 동적 컨텐츠의 필요성을 느끼게 되었다. 그래서 처음 나온게 CGI이다.CGI(Common Gateway Interface)CGI는 초기 웹 서버와 외부 프로그램 간의 인터페이스로 사용되었다. 웹 서버는 정적인 HTML 파일만 제공할 수 있었기 때문에, 동적인 콘텐츠를 생성하기 위해 CGI가 필요했다. 그러나 CGI는 각 HTTP 요청마다 새로운 프로세스를 생성하여 응답을 처리했기 때문에 ..
Specification명세, 조건이라는 뜻으로 복잡한 데이터 검색 조건을 간단하고 유연하게 구현할 수 있는 Spring Data JPA의 기능이다.public interface Specification { Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb);}Specification은 Predicate를 반환하는 toPredicate라는 함수를 가지는 인터페이스이다. Predicate는 아래에서 설명할 JPA의 Criteria API에서 사용하는 쿼리의 조건을 정의하는 객체이다. 즉 Specification은 Predicate을 추상화하여 사용하는 것이다.Criteria API 란?JPA(Java Persistence..
하이버네이트(Hibernate)와 JPA(Java Persistence API)는 자바 애플리케이션에서 데이터베이스와 상호작용하기 위한 ORM(Object-Relational Mapping) 기술이다. 이 두 가지는 서로 밀접하게 관련되어 있지만, 약간의 차이가 있다.JPA (Java Persistence API)표준 인터페이스: JPA는 자바에서 ORM을 위한 표준 인터페이스를 제공한다. 즉, 특정 구현체에 종속되지 않고, 다양한 ORM 프레임워크에서 사용할 수 있는 공통 API를 정의한다.POJO 기반: JPA는 일반 자바 객체(POJO)를 데이터베이스 테이블에 매핑한다.주요 기능: 엔티티 관리, 트랜잭션 관리, 쿼리 언어(JPQL) 등을 제공한다.하이버네이트 (Hibernate)JPA 구현체: 하이..
@Transactional 은 굉장히 선언적으로 사용할 수 있다. 여기서 선언적이라는 말은 사용자가 정확한 원리를 알 필요 없이 추상화 되어있고 내부적으로 처리된다는 뜻이다.아래는 유저를 추가하고 로그를 남기는 메서드이다. @Transactional public void createUserAndLog(String userName) { // 유저 생성 User user = new User(); user.setName(userName); userRepository.save(user); // User 저장 (DB에 INSERT 실행됨) // 로그 기록 Log log = new Log(); log.setMessage(..
Spring Boot의 Data Access layer에 대해 알아보자.JDBC자바 애플리케이션이 관계형 데이터베이스와 상호작용할 수 있도록 해주는 표준 API이다.JDBC는 3가지 기능을 표준 인터페이스로 정의하여 제공한다.java.sql.Connection - 연결java.sql.Statement, PreparedStatement - SQL을 담은 내용java.sql.ResultSet - SQL 요청 응답JDBC 드라이버는 특정 데이터베이스에 맞게 JDBC API 의 인터페이스를 구현한 구현체이다. JDBC 드라이버 덕분에 개발 과정에선 JDBC 표준만으로 코드를 작성할 수 있다.JDBC의 동작 흐름은 다음과 같다. JDBC 드라이버 로딩 : 사용하고자 하는 JDBC 드라이버를 로딩한다. JDBC 드..