본문 바로가기
TOP BOTTOM

전체 글43

[스프링 핵심 원리] 1-2. 객체 지향 특징 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 3 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 1. 객체 지향 1) 특징 ① 캡슐화 ② 추상화 ③ 상속 ④ 다형성 2) 객체 지향 프로그래밍 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나, 여러 개의 독립된 단위, 객체들의 모임으로 파악하고자 하는 것 - 각각의 객체는 메시지를 주고 받고, 데이터를 처리 => 프로그램이 유연하고 변경이 용이 2. 다형성(Polymorphism) 1) 역할/구현 역할/구현으로 구분하면 단순, 유연해지고, .. 2022. 3. 2.
[스프링 핵심 원리] 1-1. 스프링 역사와 생태계 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 2 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 1. 스프링 릴리즈 • 2003년 스프링 프레임워크 1.0 출시 - XML • 2006년 스프링 프레임워크 2.0 출시 - XML 편의 기능 지원 • 2009년 스프링 프레임워크 3.0 출시 - 자바 코드로 설정 • 2013년 스프링 프레임워크 4.0 출시 - 자바8 • 2014년 스프링 부트 1.0 출시 ... 스프링 부트가 나오기 전까지는 설정할 것이 매우 많았음 • 2017년 스프링 프레임워크 5.. 2022. 3. 2.
[스프링 핵심 원리] 1-0. 스프링 이전 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 1 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 1. Spring 이전 1) EJB(Enterprise Java Beans) : 2000년대 초반의 서버 애플리케이션 - EJB는 Entity Bean 이라는 ORM 기술도 지님 - EJB interface에 매우 의존적이게 됨 - 어렵고, 복잡하고, 비싸고, 느림 * ORM : 자바 객체를 DB에 편하게 저장하고 사용할 수 있음. query사용 안 함 2) POJO(plain old java obje.. 2022. 3. 1.
[스프링 입문] 7. AOP(Aspect Oriented Programming) 강의 https://inf.run/EkSM 1. AOP가 필요한 이유 공통 관심 사항(cross-cutting concern) vs. 핵심 관심 사항(core concern) eg) 시간을 측정하는 로직 vs. 비즈니스 로직 1) 유지 보수 어려움 2) 공통 로직으로 만들기 어려움 ==> 원하는 곳에 공통 관심 사항 적용 특징 - 메소드가 호출 될 때마다 이 로직을 실행하게 됨 - 스프링 : 프록시 방식의 AOP 이용 2. 사용 방법 @Aspect 애노테이션 필요 AOP는 Component 애노테이션을 붙이기보다는 SpringConfig 같은 파일에 등록해서 스프링 빈으로 등록하는 것 권장 @Around()로 targeting해 줌 2022. 2. 27.
[스프링 입문] 6. 스프링 DB 접근 기술 강의 https://inf.run/EkSM 개발 : 웹MVC, 데이터 접근 기술, ORM 기술 등 모두 중요 build.gradle 설정 - jdbc : java는 db랑 연결하려면 jdbc driver가 반드시 필요함 - h2 : database가 제공하는 client DB에 붙으려면 datasource가 필요함 0. 순수 Jdbc - 사양됨 1. 스프링 JdbcTemplate + MyBatis : SQL 직접 작성 - 실무에서도 많이 사용 2. JPA(JAVA Persistence API) vs. MyBatis SQL query도 자동 처리해줌 -> 개발 생산성 높일 수 있음 - SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임 전환 가능 jpa는 객체와 ORM(Object, Relatio.. 2022. 2. 27.
[스프링 입문] 5. 스프링 빈, 의존 관계 강의 https://inf.run/EkSM 1. 스프링 빈 등록 - 2가지 방법 - 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 싱글톤으로 등록한다. -> 같은 스프링 빈이면 모두 같은 인스턴스이다. @Component를 스프링이 뜰 때, 다 스프링 컨테이너에 등록함 - 스프링 컨테이너가 @Component(Controller, Service, Repository)가 붙은 클래스를 객체로 생성해서 스프링 빈으로 관리함 == 스프링 컨테이너에 등록됨 1) 컴포넌트 스캔 + 자동 의존관계 설정 @Controller, @Service, @Repository @Component 를 객체로 생성해서 스프링 컨테이너에 등록함 - Controller, Service, Repository ⊃ Component .. 2022. 2. 13.
[스프링 입문] 4. TestCase 작성 강의 https://inf.run/EkSM 1. Test 코드 1) 주의 ① 순서 보장이 되지 않음 ② Test의 메소드명은 한글로 작성해도 됨 ③ 예외 test가 더 중요함 * TDD(테스트 주도 개발) : testcase를 만들고 구현 2) 관례 ① 같은 패키지명으로 생성 ② "클래스명+Test"로 파일명 생성 //given : 주어진 데이터를 기반으로 //when : 발생했을 때 //then : 검증부 2. JUnit5 1) Assertions ① org.junit.jupiter.api : Equals, assertThrows(~~Exception.class, 해당로직) ② org.assertj.core.api : assertThat().isEqualTo() 3. 단위 테스트 vs. 통합 테스트 1.. 2022. 2. 13.