2022.06.29 1. Spring의 탄생 자바 진영에 EJB(Enterprise Java Beans)라는 기술이 있었다. 지금으로 따지면 Spring + Jpa를 다 합쳐 놓은 기술. 컨테이너, 분산 등의 기술이 획기적이었는데 가격이 수천만원으로 비쌌다.. 이론적으로는 좋은데 EJB에 의존적으로 코드를 작성해야 하기 때문에 복잡하고 느린데다가 비싸기까지 하니 개발자들이 많이 힘들었다고 한다. 이렇게 되니 다시 오래된 방식의 간단한 자바로 돌아가자 해서 나온 용어가 POJO(Plain Old Java Object)다. 그래서 개발자들이 직접 스프링, hibernate등의 오픈 소스를 만들게 되었다. 스프링은 EJB 컨테이너를 대체하고 단순하였다. Hibernate는 EJB의 엔티티빈 기술을 대체하였고,..
Spring
단계별로 성장하자!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.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..
2022.06.02 Spring DB 접근 방법 H2 DB Pure JDBC 스프링 JDBCTemplate JPA 스프링 데이터 JPA 1. H2 DB (1) 설치 및 실행 https://www.h2database.com 를 통해 H2를 설치한다. cmd에서 설치한 경로로 들어가서 h2.bat파일을 실행하면(매번 쓸때마다 실행해야 함) 아래와 같이 새로운 cmd창이 나오면서 h2를 연결할 수 있는 창도 같이 나옴 이러한 창이 나온다! (2) 최초에 DB 파일 생성 및 접속 방법 DB파일이 속해있을 경로+db파일이름을 JDBC URL 부분에 jdbc:h2: 뒤에 입력한다. ex) jdbc:h2:D:\Spring\Spring_Inflearn\dbTest\test 연결하면 파일 2개가 생성됨 참고) 하지만, ..
2022-05-28 1. Spring web 개발 방법 종류 (1) 정적 컨텐츠 (2) MVC와 템플릿 엔진 (3) API 2. 정적 페이지와 동적 페이지의 차이 - 정적 페이지: 웹 서버에 이미 저장된 html문서를 client에게 전송하는 웹 페이지 장점: (1)요청에 대한 파일만 전송하면 되므로 속도가 빠르다., (2)다른거 없이 웹서버만 구축하면 되므로 비용이 적게 든다. 단점: (1)저장된 정보만 보여주므로 서비스가 한정적이다., (2)생성, 수정, 삭제의 작업이 모두 수동이므로 관리가 힘들다. - 동적 페이지: 요청 정보를 가공처리한 후에 html 문서를 생성하여 client에게 전송하는 웹 페이지 장점: (1)다양한 정보를 이용하여 동적 생성하여 제공하므로 서비스가 다양해진다., (2)웹 사..
2022-05-26 프로젝트 생성하는법! intellij ultimate 버전을 쓰면 spring 프로젝트를 쉽게 생성할 수 있지만 다른 방법으로 https://start.spring.io/ Spring initializr 를 이용하여 프로젝트를 생성할 수 있다. 1. Maven, Gradle 둘 중에 선택해야 하는데 이건 필요한 라이브러리를 땡겨 오고 내가 빌드하는 LifeCycle을 관리해주는 툴이다! 과거에는 Maven을 많이 사용했지만 요즘은 Gradle로 넘어오는 추세이니 Gradle을 선택하면 된다. 2. Language는 java 선택 3. spring boot 버전을 선택해야 하는데 SNAPSHOT, M1 버전은 아직 정식 release된 버전이 아니므로 현재 정식 release된 버전 중..