일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 mvc2 - 로그인 처리
- 게시글 목록 api
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch13
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 검증
- 자바 기본편 - 다형성
- 코드로 시작하는 자바 첫걸음
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch9
- @Aspect
- 스프링 고급 - 스프링 aop
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch11
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch2
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch6
- 스프링 입문(무료)
- 자바의 정석 기초편 ch7
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch4
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch3
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch1
- Today
- Total
목록인프런 - 스프링 완전정복 코스 로드맵 (98)
나구리의 개발공부기록
출처 : 인프런 - 스프링 핵심원리 - 기본편(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/kCYMv** 참고이번 파트는 스프링의 도움없이 순수하게 Java로만 진행하고 다음 파트에서 스프링을 활용해서 문제점을 해결프로젝트 생성만 스프링부트로 생성1. 프로젝트 생성1) spring initializr 활용https://start.spring.io/ 접속 후 프로젝트를 생성(1) Project 생성 정보IDE - IntelliJProject : Gradle - Groovy ProjectSpring Boot: 3.x.x -> 정식 버전 중 가장 최신 버전Language: JavaPackaging: JarJava: 21 or 17Project ..
출처 : 인프런 - 스프링 핵심원리 - 기본편(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/kCYMv1. 스프링 탄생 배경2000년대 초반 자바의 표준 기술인 EJB 기술이 있었음EJB: 엔터프라이즈 자바 빈즈의 줄임말EJB는 당시의 여러 고급 기술들을 모아놓은 종합 세트 같은 느낌이였음(Transaction. Entity Bean(ORM)기술 등등)당시에는 오픈소스 같은 것들은 비주류 기술 취급을 많이 함하지만 EJB는 1대에 수천만원 할정도로 매우 비쌌고 어렵고 복잡하고 너무 느려서 오히려 순수한 자바로 다시 돌아가자는 말이 나올 정도 였음(Plan Old Java Object)두명의 개발자가 이 상황을 타파하기 위해 오픈 소스를 만듦..
스프링 JdbcTemplate 순수 JDBC와 동일한 환경설정을 진행JDBC API의 반복코드를 대부분 제거해주지만 SQL구문은 직접 입력해야 함JdbcTemplateMyBatisJdbcTemplateMemberRepository class 작성public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; // @Autowired(생성자가 1개만 있으므로 생략가능) public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(da..
H2데이터베이스 설치 https://www.h2database.com 접속 후 다운로드 후 압축해제(Mac ver.)터미널 접속 -> 압축해제폴더/bin 으로 경로 이동cd 폴더의경로/bin권한 부여 : chmod 755 h2.sh실행 : ./h2.sh -> 잠시후 웹사이트 이동 -> 연결 클릭만약 홈페이지가 안뜬 다면 아래 이미지 url 중 localhost 부분이 ip로 작성 되어있을 텐데 localhost로 변경왼쪽 상단 빨간 N 모양을 클릭하면 나갈 수 있음 아래의 터미널 창을 끄면 DB가 종료됨새로운 터미널을 열어 Home(터미널을 키면 초기 위치인 Home 디렉토리)에 test.mv.db 파일이 있는지 확인H2데이터베이스 설치 이후 접근 방법 -> JDBC URL을 아래 이미지처럼 변경 후 연..
컴포넌트스캔과 자동 의존관계 설정 회원 컨트롤러가 회원서비스를 통해서 회원가입 및 데이터 조회를 해야 함 (서로 의존관계가 있다고 표현)멤버 컨트롤러 작성 @Controller 애노테이션을 생성하면 스프링이 작성된 클래스의(컨트롤러) 객체를 생성해서 가지고 있음해당 작업을 스프링 컨테이너에서 스프링 빈이 관리 된다고 표현 함생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어줌-> 의존 관계를 외부에서 넣어주는 것을(Dependency Injection) 의존성 주입이라고 함package start.startspring.controller;import org.springframework.beans.factory.annotation.Autowired;import or..
비즈니스 요구사항 데이터 : 회원ID, 이름기능: 회원 등록, 조회아직 데이터 저장소(DB)가 선정되지 않음(가상 시나리오)같은 이름이 있는 중복 회원은 안됨일반적인 웹 애플리케이션 계층 구조컨트롤러 : 웹 MVC 혹은 API의 컨트롤러 역할서비스 : 핵심 비즈니스 로직 구현리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인: 비즈니스 도메인 객체 ex) 회원, 주문 등등 주로 데이터베이스에 저장하고 관리 됨클래스 의존 관계 데이터 저장소가 선정되지 않아 인터페이스 작성하여 구현 클래스를 변경할 수 있도록 설계개발진행을 위해 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 회원 도메인과 리포지토리 만들기 도메인 class 작성package start.sta..
정적 콘텐츠 파일을 그대로 웹브라우저에 내려주는 것 IntelliJ로 정적 콘텐츠 생성~resources/static 에 html파일을 생성 후 html코드 입력 후 실행 -> localhost:8080/파일명.html 접속정적 콘텐츠 입니다 나굴나굴동작 원리(간단설명)웹브라우저에서 주소입력톰캣 내장 서버가 요청을 받음스프링에서 먼저 파일명과 관련된 컨트롤러를 찾음(맵핑이 된 컨트롤러가 없으면 4번)내부에 있는(resources) 파일명.html 파일을 찾음 -> 있으면 그대로 반환MVC와 템플릿 엔진 - 가장 많이 하는 방식 Model, View, Controller = MVC (템플릿 엔진을 하기 위함)HTML을 서버에서 프로그래밍 해서 동적으로 바꿔서 내려줌 (템플릿 엔진 - 과거의 jsp, ph..
강의 기반Java 17 or 21 (강의 영상에는 11이지만 업데이트 됨) - 해당 강의는 21로 진행IntelliJ (이클립스로 해도 됨)스프링 부트 3.0 이상 (2.x에 대한 지원이 종료 되었음)프로젝트 만들기스프링부트로 프로젝트 생성https://start.spring.io 접속스프링부트 기반으로 스프링 관련 프로젝트를 만들어 주는 사이트(스프링에서 운영)설정Project : Gradle - Groovy (과거에는 Maven을 많이 썼으나 요즘은 gradle로 많이 넘어옴)Language : JavaSpring Boot : SNAPSHOT,MI 등이 붙지않은 버전 중 최신버전SNAPSHOT,M1 등이 붙은 버전은 비공식 버전Project MetadataGroup : 대부분 기업 도메인명을 작성 ..