본문 바로가기

전체 글291

[Spring] 객체 지향 설계와 스프링 스프링 핵심원리 강의를 들으면서 복습겸 기록을 합니다. 자바 이야기 스프링 EJB 컨테이너 대체 단순함의 승리 현재 사실상 표준 기술 하이버 네이트 EJB 엔티티빈 기술을 대체 JPA(Java Persistence API) 새로운 표준 정의 EJB 엔티티빈 -> 하이버네이트 -> JPA 스프링의 역사 2002년 로드 존슨 책 출간 EJB의 문제점 지적 BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입 과 같은 스프링의 핵심 개념과 기반 코드가 들어있음 스프링이란? 스프링 프레임워크 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트 웹 기술 : 스프링 MVC, 스프링 WebFlux 데이터 접근 기술 : 트랜잭션, JDBC, ORM지원, XML지원 기술 통.. 2021. 9. 22.
[Spring] AOP 스프링 입문 강의를 들으면서 복습겸 기록을 합니다. AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService 회원 조회 시간 측정 추가 public class MemberService { /** * 회원가입 */ public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.ge.. 2021. 9. 21.
[Spring] 스프링 DB 접근 기술 스프링 입문강의를 들으면서 복습겸 기록을 합니다. H2 데이터베이스 설치 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 https://www.h2database.com 다운로드 및 설치 h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다. 권한 주기: chmod 755 h2.sh (윈도우 사용자는 x) 실행: ./h2.sh (윈도우 사용자는 h2.bat) 데이터베이스 파일 생성 방법 jdbc:h2:~/test (최초 한번) ~/test.mv.db 파일 생성 확인 이후부터는 jdbc:h2:tcp://localhost/~/test 이렇게 접속 테이블 생성하기 테이블 관리를 위해 프로젝트 루트에 sql/ddl.sql 파일을 생성 drop table if exists member CASCADE; c.. 2021. 9. 21.
[Spring] 회원 관리 예제 - 웹 MVC 개발 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 회원 관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 참고: 컨트롤러가 정적 파일보다 우선순위가 높다. 회원 웹 기능 - 등록 1. 회원 등록 폼 개발.. 2021. 9. 21.
[Spring] 스프링 빈과 의존관계 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberServic.. 2021. 9. 21.
[백준] 10872번 : 팩토리얼 (JAVA) 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 코드 package Bronze; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main10872 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int tc = Integer.parseIn.. 2021. 9. 6.