본문 바로가기

Back-end

(48)
JDBC, JPA/Hibernate, Mybatis의 차이 1. JDBC(Java Database Connectivity) JDBC는 DB에 접근할 수 있도록 Java에서 제공하는 API이다. 모든 Java의 Data Access 기술의 근간 즉, 모든 Persistence Framework는 내부적으로 JDBC API를 이용한다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. 2. JPA(Java Persistent API) 자바 ORM 기술에 대한 API 표준 명세로, Java에서 제공하는 API이다. 자바 플랫폼 SE와 자바 플랫폼 EE를 사용하는 응용프로그램에서 관계형 데이터베이스의 관리를 표현하는 자바 API이다. 즉, JPA는 ORM을 사용하기 위한 표준 인터페이스를 모아둔 것이다. 기존에 EJB에서 제공되던 엔터티 빈(E..
Spring boot - Angular Project (1) 1. MySQL 파일을 작성 CREATE USER 'ecommerceapp'@'localhost' IDENTIFIED BY 'ecommerceapp'; GRANT ALL PRIVILEGES ON * . * TO 'ecommerceapp'@'localhost'; # # Starting with MySQL 8.0.4, the MySQL team changed the # default authentication plugin for MySQL server # from mysql_native_password to caching_sha2_password. # # The command below will make the appropriate updates for your user account. # # See the..
Lombok 사용하기 위의 캡쳐사진과 같이 @Data annotation을 사용하여 getter, setter를 간편하게 사용할 수 있다. lombook을 사용해서 코드 가독성을 높이고 심플하게 작성할 수 있게 해준다.
Spring boot - Angular Project 시작하기 SpringSpring & Hibernate for Beginners수업을 모두 들은 후 배운 내용을 활용해 프로젝트를 진행하고 싶어 Front-end + Back-end = Full stack 개발을 하기로 마음을 먹었다. 가장 좋은 방법은 React + Spring boot겠지만, 아쉽게도 해당 프로젝트의 자료를 찾는것은 간단한 CRUD기능 밖에 찾을 수가 없었다. 그리하여 기존 수업을 진행했던 강사가 추가로 제작한 Full Stack: Angular and Java Spring Boot 수업을 참고하여 프로젝트를 제작하기로 결정했다. 이 과정에서 고민을 많이 했다. 프로젝트 경험이 있는 React를 이용 해 Spring Boot, Rest API로 연결하면 베스트였겠지만 아쉬운게 사실이다. 하지만 ..
Spring vs. Spring Boot vs. Spring MVC Spring vs. Spring Boot Spring: Spring Framework is the most popular application development framework of Java. The main feature of the Spring Framework is dependency Injection or Inversion of Control (IoC). With the help of Spring Framework, we can develop a loosely coupled application. It is better to use if application type or characteristics are purely defined. Spring Boot: Spring Boot is a m..
스프링 프레임워크 뷰로 사용되는 Thymeleaf 와 jsp 의 비교 스프링 부트를 공부하면서 Thymeleaf를 알게 되었습니다. Thymeleaf는 템플릿 엔진으로 스프링 프레임워크의 MVC 구조에서 V 즉, 뷰(View)를 담당하는 라이브러리 입니다. 스프링 프레임워크의 뷰로 사용되는 가장 일반적인 기술은 jsp 입니다. Thymeleaf와 같은 템플릿 엔진은 사용해 보지 않아서 두 기술을 비교해 보았습니다(스프링 프레임워크에서 사용되는 템플릿엔진은 Thymeleaf외에도 Freemarker, Velocity등 많이 있는것 같습니다). 1. Thymeleaf와 jsp의 차이점 Thymeleaf는 HTML, XML, JavaScript, CSS 및 일반 텍스트를 처리 할 수 있는 웹 및 독립형 환경에서 사용할 수 있는 Java 템플릿 엔진입니다. Thymeleaf는 h..
Spring Bean Scopes and Lifecycle 정리 Bean Scopes Spring에서 별도의 설정을 하지 않을 경우 default bean scope는 singleton으로 구성됩니다. singleton : 스프링 default bean scope prototype : 애플리케이션 요청시 ( getBean() 메서드가 호출될 때마다) 스프링이 새 인스턴스를 생성합니다. request : HTTP 요청별로 인스턴스화 되며 요청이 끝나면 소멸됩니다. session : HTTP 세션별로 인스턴스화 되며 세션이 끝나면 소멸됩니다. global session : 포틀릿 기반의 웹 애플리케이션 용도로 전역 세션 스코프가 빈과 같은 스프링 MVC를 사용한 포탈 애플리케이션 내의 모든 포틀릿 사이에 공유를 할 수 있습니다. thread : 새 스레드에서 요청하면 새..
Inversion Of Control Container 란? IOC Conatainer IOC (Inversion of Control) 를 구현하는 프레임워크로 객체를 관리하고, 객체의 생성을 책임지고, 의존성을 관리하는 컨테이너 입니다. 제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말합니다. 줄여서 IoC(Inversion of Control)이라고 부릅니다. 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용합니다. 하지만 제어 반전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출합니다. 설계 목적상 제어 반전의 목적은 다음과 같습니다: 작업을 구현하는 방식과 작업 수행 자체를 분리합니다. 모듈을 ..