전체 글

단계별로 성장하자!
2022.06.29 1. Spring의 탄생 자바 진영에 EJB(Enterprise Java Beans)라는 기술이 있었다. 지금으로 따지면 Spring + Jpa를 다 합쳐 놓은 기술. 컨테이너, 분산 등의 기술이 획기적이었는데 가격이 수천만원으로 비쌌다.. 이론적으로는 좋은데 EJB에 의존적으로 코드를 작성해야 하기 때문에 복잡하고 느린데다가 비싸기까지 하니 개발자들이 많이 힘들었다고 한다. 이렇게 되니 다시 오래된 방식의 간단한 자바로 돌아가자 해서 나온 용어가 POJO(Plain Old Java Object)다. 그래서 개발자들이 직접 스프링, hibernate등의 오픈 소스를 만들게 되었다. 스프링은 EJB 컨테이너를 대체하고 단순하였다. Hibernate는 EJB의 엔티티빈 기술을 대체하였고,..
2022.06.29 SOLID 원칙 좋은 객체 지향 설계의 5가지 원칙 SRP: 단일 책임 원칙(Single Responsibility principle) OCP: 개방-폐쇄 원칙(Open/closed principle) LSP: 리스코프 치환 원칙(Liskov Substitution principle) ISP: 인터페이스 분리 원칙(Interface Segregation principle) DIP: 의존관계 역전 원칙(Dependency Inversion Principle ) 1. SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가진다. 하나의 책임이라는 것은 문맥에 따라 다르며 클 수도 있고 작을 수도 있기에 모호하다. 변경이 중요한 기준이다. 변경이 있을 때 파급효과가 적다면 SRP를 잘 따른 것..
AOP(Aspect Oriented Programming) 1. AOP가 필요한 Example public Long join(Member member){ long start = System.currentTimeMillis(); try{ //같은 이름이 있는 중복 회원X 라고 가정 validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.getId(); }finally { long finish = System.currentTimeMillis(); long timeMs = finish - start; System.out.println("join = " + timeMs + "ms"); } } 만약 위와 같이 ..
2022.06.27 I. JPA 1. 특징 (1) Connection, PreparedStatement, Resultset 등 반복 코드는 물론이고, 기본적인 SQL까지 JPA가 직접 만들어서 실행해줌 (2) SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환 할 수 있다. (3) 개발 생산성을 크게 향상된다. (4) JPA는 자바 표준 인터페이스이고, 구현체는 Hibernate등등의 vendor들이 있음. (5) JPA를 Spring에서 한번 감싸서 제공하는게 Spring Data JPA임. 2. 초기 설정 (1) build.gradle에 jpa추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' (2) re..
2022-06-24 팀 프로젝트 3개.. + 기말고사로 인해 20일만에 다시 시작하게 되었다.. 오랜만에 보는 것이니 만큼 앞에 정리한 내용들을 읽어보고 다시 시작한다 Spring JdbcTemplate 1. 특징 Pure Jdbc와 동일한 환경에서 진행 Mybatis와 Spring JdbcTemplate은 JDBC API에서 이전에 봤던 Connection연결하고 등등의 과정에서 반복된 코드를 제거해줌. SQL은 그대로 직접 작성해야 함. 2. Example public class JdbcTemplateMemberRepository implements MemberRepository{ private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemp..
2022.06.04 Spring에서 JDBC로 DB 접근 하는 방법 1. 초기 설정 (1) build.gradle에 jdbc, h2 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' (2) resources/application.properties에 스프링 부트 db 연결 설정 추가 spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=khs 2. JdbcMemeberReposito..
DevPoong
Poong