자바

    [스프링 핵심 원리] Section1. 객체 지향 설계와 스프링

    인프런 김영한 스승님의 두번째 커리큘럼 시작 !! 자바 진영의 추운 겨울과 스프링의 탄생 자바당 최고 기술 EJB 비용적 부담이 큼 의존적이라 객체 지향 프로그래밍 불가 어렵고 복잡하고 느림 스프링 EJB 컨테이너 대체 단순함의 승리 현재 사실상 표준 기술 하이버네이트 EJB 엔티티빈 기술 대체 JPA 새로운 표준 정의 EJB 엔티티빈 ⇒ 하버네이트 ⇒ JPA JPA 실용성과 표준의 안정성을 갖춘 JPA 탄생 스프링이란? 필수 스프링 프레임워크 - 가장 중요 스프링 부트 - 모든 기술을 편리하게 사용하도록 선택 스프링 데이터 - JPA를 주로 사용, CRUD를 편리하게 스프링 세션 - 세션 기능을 편리하게 스프링 시큐리티 - 보안 관련하여 스프링 Rest Docs - 문서를 편리하게 스프링 배치 - 배치..

    [스프링 입문] Section6. 스프링 DB 접근 기술

    기존에는 메모리에 저장하는 방식 실무에서는 데이터베이스에 데이터들을 저장하여 관리 스프링이 JDBC template 기술 제공 애플리케이션에서 데이터베이스로 SQL을 편리하게 날릴 수 있음 JPA를 쓰면 객체를 바로 DB에 쿼리 없이 저장 가능 스프링 데이터 JPA : JPA를 편리하게 쓸 수 있도록 한 번 감싼 기능 H2 데이터베이스 설치 https://www.h2database.com/html/download-archive.html 에서 1.4.200 버전 설치 1. 데이터 베이스 파일 만들기 JDBC URL : 내 파일 경로 이후에 파일로 접근하면 애플리케이션과 웹 콘솔이 동시에 접근이 안될 수 있음 이후부터는 JDBC URL : jdbc:h2:tcp://localhost/~/test 파일 직접 접..

    [스프링 입문] Section5. 회원 관리 예제 - 웹 MVC 개발

    회원 웹 기능 - 홈 화면 추가 1. .../src/main/java/hello/hellospring/controller/HomeController.java 을 생성해서 홈 컨트롤러 추가 @Controller public class HomeController { @GetMapping("/") //도메인의 첫번째 public String home() { return "home"; //home.html이 호출 } } 2. .../src/main/resources/templates/home.html 을 생성해서 회원 관리용 홈 생성 Hello Spring 회원 기능 회원 가입 회원 목록 3. HelloSpringApplication.java 실행 시 localhost:8080 접속 시 홈 화면에 매핑된 htm..

    [스프링 이것저것] 의존성 주입 (DI) 개념 & 방법

    의존성 주입 의존성 주입 = Dependency Injection = DI 프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로 분리하는 것 by 위키피디아 의존 관계란? A가 B를 의존한다 = 의존대상 B가 변하면 그것이 A에 영향을 미친다 다양하게 의존 관계를 맺으려면 인터페이스로 추상화 해야 함 ⇒ 실제 구현 클래스와의 관계는 느슨해지고 결합도가 낮아짐 의존 관계 주입이란? 의존관계를 외부에서 결정하고 주입하는 것 클래스 변수를 결정하는 방법 = DI를 구현하는 방법 런타인 시점의 의존관계를 외부에서 주입하여 DI 구현 완성 DI 장점 의존성/종속성 ↓ : 변화가 있더라도 수정할 일이 적다 재사용성 ↑ :..

    [스프링 입문] Section4. 스프링 빈과 의존관계

    컴포넌트 스캔과 자동 의존 관계 설정 화면을 붙이려면 Controller와 View template이 필요 Member Controller가 Member Service를 통해 회원가입하고 조회할 수 있어야 함 ⇒ 의존 관계가 있다 표현 == 멤버 컨트롤러가 멤버 서비스를 의존한다 /src/main/java/hello/hellospring/controller/MemberController.java 생성 MemberService를 Spring Contaioner로부터 받아 쓰도록 ⇒ 새로 생성할 필요 X, 하나만 가져와서 같이 쓰는 것이 나음 결론 : 스프링 컨테이너에 하나만 등록하여 가져다 쓰기! @Controller public class MemberController { private final Mem..

    [스프링 입문] Section1. 프로젝트 환경설정

    첫 단추를 잘 끼우자 ..! 프로젝트 생성 사전 준비물 : Java11, IDE(InteliJ) 설치 스프링 부트 스타터 → 스프링 프로젝트 생성 : Spring Initializr Maven, Gradle : 필요한 라이브러리를 가져오고 빌드하는 라이프 사이클까지 관리하는 툴, 요즘 추세는 Gradle Group : 기업 도메인명 Artifact : 프로젝트 Dependencies : 어떤 라이브러리를 가져와 쓸지 선택 Thymeleaf : html을 만들어주는 템플릿 엔진 3. Generate하여 IntelliJ에서 build.gradle 파일을 프로젝트로 open 더보기 Error 그 사이에.. Error가 남 ㅋㅋ A problem occurred configuring root project 어쩌..

    [SpringBoot-AWS] Chap03 - 스프링 부트에서 JPA로 데이터베이스 다뤄보자

    성실 성실 열쩡 열쩡 ,,,,,,,,,,,,,,,,, 3.1 JPA 소개 Intro 객체를 관계형 데이터 베이스에서 관리하는 것이 중요 관계형 데이터 베이스는 SQL만 인식 반복적인 SQL을 많이 만들어야 하고 유지보수 해야 함 패러다임 불일치 문제 발생 관계형 데이터베이스는 어떻게 데이터를 저장할지에 초점이 맞춰진 기술 객체지향 프로그래밍 언어는 메세지를 기반으로 기능과 속성을 한 곳에서 관리하는 기술 패러다임이 서로 다른데 객체를 데이터베이스에 저장하려고 하면서 생기는 문제 웹 애플리케이션 개발은 점점 데이터 베이스 모델링에만 집중 이를 해결하기위해 JPA 등장 객체지향적인 프로그래밍이 가능하고 SQL에 종속적인 개발을 하지 않아도 됨 JPA 인터페이스로서 자바 표준명세서 JPA posts 클래스 생..

    [SpringBoot-AWS] SpringBoot AWS 스터디 계획

    2023-1 APPS 스터디 !!! 야심차게 대인원과 함께 하는 SpringBoot AWS 스터디이다 ㅎㅎ 진행 방법 목표 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (이동욱 지음) 커리큘럼 : 1주당 1chapter씩 교재 목차대로 일정 : 2023.3 ~ 2023.6 예정 깃헙 레포지토리 : https://github.com/APPS-sookmyung/2023-1-SpringBoot-AWS-Study.git GitHub - APPS-sookmyung/2023-1-SpringBoot-AWS-Study: [APPS] 2023-1 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스 [APPS] 2023-1 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 스터디 저장소🖥️ - GitHub - AP..