본문 바로가기

Spring | SpringBoot9

[스프링 스터디] 2주차. JPA ?? 각 애노테이션에 대해서 모두 알고 쓸 것 아닌가? 그럼 애노테이션은 따로 어떻게 공부하는지? 애노테이션으로 쓸 수 있는 옵션에 대해서 어떻게 공부하는지? 이거 final 왜쓸까요? 컬럼 이름이 이상하다. # 배운 점 관계형 데이터베이스 (RDB, Relational DataBase) 서로 지향하는 바가 다른 두 영역의 중간에서 JPA를 통해 패러다임 일치를 시킬 수 있다. 관계형 데이터베이스 : 어떻게 데이터를 저장할지에 중점을 둔 기술 관계형 데이터베이스를 사용하기 위해서 각 테이블마다 반복적인 CRUD SQL이 생성되어야한다. 객체지향 언어 : 메시지를 기반으로 기능과 속성을 한 곳에서 관리하는 기술 JPA 2022. 5. 7.
[스프링 스터디] 1주차. 단위테스트, 롬복 공부하는 책 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 이동욱 지음 공부한 Github : https://github.com/anso33/jojo.springboot-example.git 견고한 서비스를 만들기 위해서는 TDD, 적어도 테스트코드를 작성하면서 진행해야한다. TDD : 테스트가 주도하는 개발 테스트 코드를 먼저 작성한다. 단위 테스트 : 기능 단위의 테스트 코드를 작성 장점1 : 코드에 대한 결과(피드백)확인이 빠르다. 장점2: 자동검증이 가능하다. 장점3: 새로 코드를 추가하고자 할 때 개발자가 만든 기존의 기능이 잘 작동함을 보장한다. 테스트 코드 작성할 때 사용하는 프레임워크 ex) JAVA - JUnit, DB - DBUnit, C++ - CppUnit, ... 스프링 .. 2022. 5. 7.
[스프링 스터디] 7주차 - 스프링 핵심 원리.기본편 (마지막) 긴 듯, 짧은 듯 스프링 스터디의 마지막 주차...! 공부한 github : https://github.com/anso33/SpringStudy_second.git [ 섹션 9. 빈 스코프 ] 빈 스코프 : 빈이 존재할 수 있느 범위 스프링은 싱글톤과 프로트타입 등 다양한 스코프를 지원한다. ex) 싱글톤 프로토타입 웹 관련 request session application - @Component를 이용해서 자동으로 등록할 수도 있고, 수동으로 등록할 수도 있다. # 프로토타입 스코프 : 프로토타입 스코프의 빈을 요청하면 스프링 컨테이너가 프로토타입 빈을 생성하고 의존관계를 주입하여 반환한다. 싱글톤과 다르게 요청을 받을 때마다 새로운 프로토타입 빈을 생성하여 반환한다. 스프링 컨테이너는 프로토타입 빈에.. 2022. 2. 24.
[스프링 스터디] 6주차 - 스프링 핵심 원리.기본편 공부한 github : https://github.com/anso33/SpringStudy_second.git [ 섹션 7. 의존관계 자동 주입 ] # 의존관계 주입 방법 + 생성자 주입 : 생성자를 통해서 의존 관계를 주입 받는 방식 @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { th.. 2022. 2. 17.
[스프링 스터디] 5주차 - 스프링 핵심 원리.기본편 공부한 github : https://github.com/anso33/SpringStudy_second [ 섹션 5. 싱글톤 컨테이너 ] >> 순수한 DI 컨테이너 테스트 public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때 마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회: 호출할 때 마다 객체를 생성 MemberService memberService2 = appConfig.memberService(); //참조.. 2022. 2. 10.
[스프링 스터디] 4주차 - 스프링 핵심 원리.기본편 섹션 3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 # public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(new MemoryMemberRepository()); } //생성자 주입 public OrderService orderService() { return new OrderServiceImpl( new MemoryMemberRepository(), new FixDiscountPolicy()); } 섹션 4. 스프링 컨테이너와 스프링 빈 # 2022. 1. 30.
[스프링 스터디] 3주차 - 스프링 핵심 원리.기본편 # 참고 강의 스프링 핵심 원리 : 김영한님 # 공부한 코드를 올린 Github https://github.com/anso33/SpringStudy_second.git # EJB (Enterprise Java Bean) EJB의 비전 : EJB는 애플리케이션 개발을 쉽게 만들어준다. 애플리케이션의 개발자는 로우레벨의 기술에 관심을 가질 필요가 없다. 기업환경의 시스템을 구현하기 위한 서버 측 컴포넌트 모델 많은 동시접속자에 대한 안정성 지원 안정적인 데이터 조작 >> 동시접속자가 많은 동시에 안정적인 트랜젝션이 필요한 사이트 구축시에 사용 ex) 공공기관, 금융, 포털사이트 게임사이트, 기업 등등 지금도 그런지는 모르겠 - 문제점 객체지향적이지 않다. 프로그래밍 모델이 복잡하다. 특정 환경, 기술에 종속.. 2022. 1. 25.
[스프링 스터디] 2주차 - 스프링 입문 # 1주차 정리 내용 2022.01.13 - [컴퓨터 언어/Spring | SpringBoot] - [스프링 스터디] 1주차 - 스프링 입문 # 2주차 정리 내용 05. 회원 관리 예제 - 웹 MVC 개발 스프링 컨테이너에 관련된 컨트롤러가 없으면 정적 컨텐츠의 내용을 전달한다. >> 컨트롤러가 정적 파일보다 높은 우선순위를 가진다. 06. 스프링 DB 접근 기술 + 순수 JDBC (Plain JDBC, Java DataBase Connectivity) JDBC : 자바 프로그램이 DB와 연결되어 데이터를 주고 받을 수 있게 하는 프로그래밍 인터페이스 - JAVA 기반 앱에서 JDBC-API -> JDBC driver를 통해 DB에 접근한다. - 함수 호출용 SQL 인터페이스 - 공통된 SQL 인터페이스.. 2022. 1. 20.
[스프링 스터디] 1주차 - 스프링 입문 # 참고 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 : 김영한님 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard # 공부한 코드를 올린 github https://github.com/anso33/SpringStudy_first.git # 1주차 정리 내용 01. 프로젝트 환경설정 + 일반적으로 처음 프로젝트를 생성할 때 스프링부트 스타터를 이용한다. 보다 쉽게 build.gradle 파일을 완성할 수 있다. - 스프링부트 스타터 : https://start.spring.io *.. 2022. 1. 13.