프로그래밍/Spring (17) 썸네일형 리스트형 [spring boot] Intellij 깃허브(GitHub) 연동_2 1. Project를 생성한 후, VCS를 누르고 Share Project On GitHub를 클릭합니다. 2. GitHub에 생성 될 Repository name을 입력하고 Share 버튼을 클릭합니다. 3. Repository에 올릴 프로젝트의 파일들을 Add하고 Commit 및 Push를 진행합니다. (기본적으로 모든 파일들이 선택됩니다.) 4. GitHub로 들어가시면 Repository name으로 만든 저장소가 생기고 파일들이 올라간 것을 확인 할 수 있습니다. [SPRING] MVC 구조 이해 스프링 MVC 전체 구조 DispatcherServlet, HandlerMapping, HandlerAdapter, ModelAndView, ViewResolver, View 고객의 요청이 오면 DispatcherServlet이 받아서 스프링부트가 미리 등록해둔 여러개의 핸들러를 HandlerMapping이 처리할 수 있는 핸들러를 찾아주고 걔를 HandlerAdapter목록에 던져서 처리할 수 있는 HandlerAdapter찾아 호출(handle), 반환(ModelAndView)를 하고 viewResolver를 호출해서 실제 view를 찾아서 render 호출 - DispatcherServlet org.springframework.web.servlet.DispatcherServlet 1. Dispatc.. [spring boot] Intellij 깃허브(GitHub) 연동 1. 새로운 Repositories를 생성합니다. Repository name 입력 -> Create Repository 클릭 README, gitignore, license 등은 본인이 필요에 따라 생성하시면 됩니다. README를 생성하시면 main 브랜치가 생성되기 때문에 commit 할 때, MASTER 브랜치가 새로 생성 될 수 있습니다.따라서, 깃에 아직 익숙하지 않으시다면 README를 생성하시지 않는 걸 추천 드립니다. 2. 만들어진 Spring Boot Project를 엽니다. VCS -> Create Git Repository... -> 디렉터리 창이 열리면 OK 위와 같이 하시면 아직 스테이징 영역에 추가되지 않은 파일 들이 빨간색으로 표시됩니다. 3. 원격 저장소와 연결 VCS ->.. 웹 애플리캐이션 웹 - HTTP 기반 클라이언트와 서버가 요청/응답을 주고 받을 때 HTTP를 통해서 주고 받는다. HTTP 메시지에 모든 것을 전송 웹서버 HTTP를 기반으로 동작하는 서버 정적 리소스 제공, 기타 부가기능 웹 시스템 구성 - WAS, DB 이미지 제공하는 로직보다 애플리케이션은 복잡하기 때문에 비싸다 WAS만으로 구성을 하면 장애가 나면 웹으로 접근조차 안되기 때문에 오류 화면 조차도 노출이 불가능하다. 보통은 웹서버가 정적인 부분을 처리하고 동적인 로직이 필요하면 WAS가 처리를 하는 식으로 구성 시스템 리소스를 효율적으로 쓸 수 있다. 정적 리소스만 제공하는 웹 서버는 잘 죽지 않음(계산하는 로직이 잘 들어가지 않음) 여러가지 이유로 WAS는 죽을 수 있다. API만 제공하게 되면 굳이 WEB서버.. 스프링 컨테이너와 스프링 빈 1.스프링 컨테이너 생성 ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는 인터페이스이다. 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있다. 직전에 AppConfig 를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 자바 설정 클래스를 기반으로 스프링 컨테이너( ApplicationContext )를 만들어보자. new AnnotationConfigApplicationContext(AppConfig.class); 이 클래스는 ApplicationContext 인터페이스의 구현체이다 참고: 더 정확히는 스프링 컨테이너를 부를 때 BeanFactory , Appli.. 스프링 핵심 원리 - 스프링 핵심 원리 이해 IoC, DI, 그리고 컨테이너 제어의 역전 보통 개발자가 직접 원하는대로 객체를 생성하고 호출하는 등 개발자가 다 제어를 하는데 프레임워크가 대신 호출해주는 것을 제어의 역전이라 한다. 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 개발자 입장에서는 자연스러운 흐름이다. 반면에 AppConfig가 등장한 이후에 구현 객체는 자신의 로직을 실행하는 역할만 담당한다. 프로그램의 제어 흐름은 이제 AppConfig가 가져간다. 예를 들어서 OrderServiceImpl 은 필요한 인터페이스들을 호출하지만 어떤 구현 객체들이 실행될지 모른다. 프로그램에 대한 제어 흐름에 대한 권한은 모두 A.. 스프링 핵심 원리 - 객체 지향 설계와 스프링 스프링의 핵심원리를 확실히 이해하려면 단순히 기능만 사용하는 것이 아니라 객체지향의 원리와 스프링이 그 원리를 어떻게 지원하는지 객체지향과 스프링을 함께 풀어가면서 이해해야 된다. 스프링의 핵심 가치는 객체 지향 프로그래밍이 있다. 1.이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 EJB(Enterprise Java Bean) - 자바당 정파 기술 당시 기술 영업은 EJB로 했다. 진짜 어렵고 복잡하고 느렸다. 스프링 EJB 컨테이너 대체 단숨함의 승리 현재 사실상 표준 기술 하이버네이트 EJB 엔티티빈 기술을 대체 JPA(Java Persistence API) 새로운 표준 정의 EJB 엔티티빈 -> 하이버네이트 -> JPA(표준 인터페이스) 스프링의 역사 2002년 로드 조슨 책 출간에 의해 시작 .. [SPRING] 회원 관리 예제 - 백엔드 개발 1,비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 일반적인 웹 애플리케이션 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체, 예)회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 2.회원 도메인과 리포지토리 만들기 스프링 DB 접근 기술 1.H2 데이터베이스 설치 2.순수 Jdbc 3.스프링 통합 테스트 4.스프링 JdbcTemplate 5.JPA 6.스프링 데이터 JPA 2.순수 JDBC build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.b.. 이전 1 2 3 다음 목록 더보기