분류 전체보기170 ssafy 1학기의 꽃, 관통 프로젝트 0일차 수요일 관통 바로 전날, vue 프로젝트가 있는 날이었다. 그런데 관통프로젝트라는게 결국 스프링 프로젝트+뷰 프로젝트이다. 이름은 뷰 프로젝트지만, 관통 플젝 기간동안 계속 끌고 가야되는 녀석인 것이다... 그래서 오늘부터 관통을 시작하는거나 다름없다. 우리 팀의 경우 페어님이 jwt를 이용한 로그인+스프링 레거시를 스프링 부트로 바꾸는 작업을 미리 해오셨다. (ㄷㄷ) 그래서 우리 팀은 굉장히 빠른 스타트를 끊을 수 있었다. jsp로 구현했던 부분을 vue로 옮기는 작업을 진행했다. 사실 옮겼다는 말은 맞지 않다. jsp 코드 참고도 안했고 그냥 새로 창조한 수준이다... 기능 옮기는 것만으로도 할 게 많아서 일단 디자인은 저렴하게 부트스트랩을 발라서 만들었다. 컴포넌트를 레고처럼 조립한다는 점에.. 2022. 11. 28. JPA 개요 ORM jpa를 알기 위해선 먼저 orm을 알아야 한다. ORM = Object Relational Mapping 의 줄임말. 말 그대로 자바와 테이블을 자동으로 매핑해주는 기술이 ORM이다. ORM을 이용하면 쿼리문 작성이 아닌 코드(메서드)로 데이터를 조작할 수 있다. ORM의 장점 쿼리문 작성이 줄어 개발비용 줄어듦 객체지향적으로 db에 접근할 수 있어 가독성 좋아짐 ORM을 통해 매핑된 객체는 모두 독립적으로 작성되어 있어 재사용이 용이함 데이터베이스에 대한 종속성이 줄어들어 비교적 적은 리스크를 부담 ORM의 단점 복잡한 서비스를 쿼리 없이 구현하기 어려움 복잡한 쿼리를 정확한 설계 없이 ORM만으로 구성하게 되면 속도 저하 등 성능 문제가 발생할 수 있다. JPA JPA= Java Persis.. 2022. 11. 2. 스프링 기본편 강의 완강 약 12시간의 스프링 강의를 완강했다. 오늘까지 완강하기 위해 지난 일주일간은 강의를 듣고 기록하는 것에 집중했던 것 같다. 오늘은 싸피의 스프링 주 첫날이었다. 스프링 주간 동안 밤의 일정은 낮에 배운 것 복습 + 알고리즘 혹은 cs 가 될 것 같다. 스프링 주가 끝나면 jpa 활용편, 기본편 강의도 들으려고 계획중인데...시간이 될지 모르겠다. 그래도 하는데까진 해보려고 한다. 2022. 10. 17. [스프링 기본] 9. 빈 스코프 빈 스코프란? 말 그대로 빈이 존재할 수 있는 범위 스프링은 아래 스코프들을 지원한다. 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다. 프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다. 웹 관련 스코프 request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다. session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다. application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프이다 싱글톤 프로토타입 리퀘스트 정도 알면 된다. 스프링 빈은 기본적으로 싱글톤 스코프로 생성된다. @Scope("prototype") @Component publ.. 2022. 10. 17. [스프링 기본] 8. 빈 생명주기 콜백 빈 생명주기 콜백 시작 초기화 작업은 의존관계 주입 후에 일어나야 한다.(주입되기 전이라면 null일테니까..) 종료 작업 또한 할 일을 다 마친 후에 안전하게 진행되어야 한다. 스프링은 생명주기 콜백을 지원해 개발자가 적절한 시점에 초기화, 종료 작업을 할 수 있도록 한다. 스프링 Bean의 이벤트 라이프사이클 스프링 컨테이너 생성 → 스프링 빈 생성 → 의존관계 주입 → 초기화 콜백 → 사용 → 소멸전 콜백 → 스프링 종료 스프링은 크게 3가지 방법으로 빈 생명주기 콜백을 지워한다. 인터페이스(InitalizingBean, DisposableBean) 설정 정보에 초기화 메서드, 종료 메서드 지정 @PostConstruct, @PreDestory 어노테이션 지원 (권장되는 방법) 인터페이스 Inita.. 2022. 10. 14. [스프링 기본] 7. 의존관계 자동 주입 다양한 의존관계 주입 방법 생성자 주입 수정자 주입 필드 주입 일반 메서드 주입 생성자 주입 @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } 지금까지 해왔던 방식 스프링 빈의 경우, 생성자가 딱 1개만 있으면 @Autowired를 생략해도 자동 주입 된다. 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. 불변, 필수 의존관계에 사용. (=현재 memberRepository,discountPolicy를 set해주는 함수는 .. 2022. 10. 14. 이전 1 2 3 4 5 6 7 8 ··· 29 다음 반응형