나를 기록하다
article thumbnail
[TIL-57/240613] Spring 계층 구조(레이어 아키텍처), Web Server & WAS & Web Service
TIL 2024. 6. 13. 22:27

Spring Project의 계층 구조(Layer Architecture) - Web / Service / RepositoryAPI를 만들기 위해서는 3개의 클래스가 필요하다.Request 데이터를 받을 DTO / API 요청을 받을 Controller / 트랜잭션, 도메인 기능 간의 순서를 보장하는 ServiceService의 역할과 Domain의 역할Service에서 비즈니스 로직을 처리 X → 비즈니스 로직은 Domain에서 처리Service는 트랜잭션, 도메인 간 순서 보장의 역할 수행 Spring의 웹 계층 구조 Web 계층컨트롤러(@Controller), View Template(ex. JSP, Thymeleaf, Freemarker ...)의 영역필터(@Filter), 인터셉터, 컨트롤 어드..

article thumbnail
[TIL-55/240412] MyBatis-Spring, Dynamic SQL
TIL 2024. 4. 13. 19:49

MyBatis-Spring 마이바티스-스프링 연동 모듈은 둘을 간편하게 연동하도록 도와줌 해당 모듈은 마이바티스로 하여금 스프링 트랜잭션에 쉽게 연동되도록 처리 mapper와 SqlSession을 다루고, 빈에 주입시켜줌 MyBatis 예외를 스프링의 DataAccessException으로 반환 mybatis-spring 감사 인사 이 프로젝트가 실제로 만들어지게 도와준 모든 특별한 분들에게 정말 감사한다. 알파벳 순서로 보면, 코딩및 테스트 그리고 문서화를 담당했던 Eduardo Macarron, Hunter Presnall, Putthiphong Boon mybatis.org 구성 요소 Dynamic SQL 동적 SQL Runtime 시점에서 생성되는 SQL 사용자의 입력 혹은 특정 조건에 따라 동적..

article thumbnail
[TIL-54/240408] MyBatis
TIL 2024. 4. 9. 08:43

MyBatis 특징 SQL 매핑 프레임워크 SQL문과 저장 프로시저(Stored Procedure)등의 매핑을 지원하는 퍼시스턴스 프레임워크(persistence framework) JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 처리를 대신해줌 Map 인터페이스 그리고 자바 POJO를 설정 데이터베이스와 매핑해서 사용 가능 XML과 Annotation 설정을 통해 사용할 수 있음 MyBatis 동작 구조 MyBatis는 SQL을 처리하고 Java 객체와 DB간의 매핑을 처리한다. MyBatis 구성 요소 MyBatis는 SqlSession 인터페이스를 통해 DB와 상호작용 한다. SqlSessionFactory SqlSession 객체를 생성하는 팩토리 클래스 런타임 도중 CRUD 처리 ..

article thumbnail
[TIL-46/240318] File Upload & Download
TIL 2024. 3. 19. 08:55

File Upload 파일 업로드 클라이언트가 서버로 파일을 전송하는 과정 여러 개의 파일을 업로드 할 수 있음 기존 방식의 Form 기존에 사용하던 은 문자 위주의 데이터를 사용 enctype="application/x-www-form-urlencoded" 기본 값(생략 가능) HTTP Body에 문자로 key=value 형태로 전송하고, 여러 개의 데이터라면 & 기호를 통해 구분하였음 파일 업로드 방식의 Form 파일은 문자가 아닌 바이너리 데이터를 전송 파일만 전송하는 것이 아니라 다른 데이터를 같이 전송하기도 함 enctype="multipart/form-data", method="POST" 필수 여러 개의 파일을 업로드하고 싶다면 multiple="multiple" 속성 추가 필요 참고할 블로그..

article thumbnail
[TIL-19 / 230908] 람다식, Java MVC, Spring
TIL 2023. 9. 9. 13:14

오늘은 알고리즘 공부를 하면서 자주 마주쳤지만, 제대로 공부해보지 않았던 람다식, 그리고 프로젝트에 필요한 Java MVC, Spring에 대한 공부를 진행하였다. 람다식 람다식이란 함수를 하나의 식으로 표현한 것으로, 익명함수의 한 종류이다. 익명함수는 모두 일급 객체이고 일급 객체인 함수는 변수처럼 사용 가능하며 매개변수로 전달이 가능한 특징이 있다. 예시 기존 방식 new Thread(new Runnable() { @Override public void run() { System.out.println("Welcome Heejin blog"); } }).start(); 람다 방식 new Thread(()->{ System.out.println("Welcome Heejin blog"); }).start..

article thumbnail
[Interview] Spring, DI, IoC, ORM, JPA, Hibernate
CS/Interview 2023. 9. 9. 10:00

Spring 객체를 관리할 수 있는 컨테이너를 제공하는 프레임워크 예시 공통적으로 사용하는 객체가 있다고 가정 A 클래스, B 클래스, C 클래스가 있을 때 D 클래스의 인스턴스인 d를 사용하려면 메모리에 d를 3개(A, B, C 각각 생성) 생성해야함. → 같은 기능을 하는 d가 메모리에 3개가 존재하므로 굉장히 비효율적 → 공통으로 사용하는 하나는 같이 쓸 수 있게 컨테이너를 제공하는 것이 Spring Core 과거에는 EJB가 존재했다. EJB는 상속, 구현 등 복잡했다. 이것에 대한 불만을 가지고 만든 것이 Spring Spring은 순수 Java로 구성되어 있고 객체를 관리하는 역할을 한다. 오픈소스란 소스를 오픈하는 것. 즉 모두가 기능을 추가할 수 있도록 개발한 소스를 오픈하는 것을 말한다...

profile on loading

Loading...