일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오름캠프플러터
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 생존코딩
- ㅇ
- 오름캠프
- 플러터
- 오준석의생존코딩
- 오준석의 생존코딩
- 모두의연구소
- 오존석의 생존코딩
- 모두연구소
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
- 모두의연구소 오준석생존코딩 오름캠프
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 패스트 캠퍼스
- Today
- Total
목록Spring Boot (9)
꾸준히 하고싶은 개발자
프로젝트 생성 프로젝트 생성하기 인테리제이 프레임워크 나 스프링부트내 만들어진 홈페이지 에서만들수있다. 나는여기서 홈페이지 해보겠습니다 start.spring.io http://start.spring.io/ Spring Boot : 정식 릴리즈 중 가장 최신 ( 뒤에 SNAPSHOT 이나 M1,M2 등이 없는 버전) 선택! 작성일( 2023/3/12 ) 기준 2.7.9 Project Metadata Group : (기업 도메인 명) Artifact : (결과물) Name : (결과물) Description : (프로젝트 설명) Package name : (패키지 명) Packaging : Jar 선택 ※ Jar 와 War의 차이점 Java : 11 선택하고나서 GENERATE 하면 된다. 생성 비즈니스 ..
스프링 핵심 원리 스프링역사 2002년도 로드 존슨 책 출간 EJB의 문제점 지적 EJB없이도 충분히 고품질의 확장 가능한 어플리케이션을 개발 할 수있음을 보여주고 3만라인 이상의 기반 기술예제코드로 선보였다. 여기에 지금의 스프링 핵심개념과 기반 코드가 들어가있다. BeanFactory ApplicationContext, POJO 제어의역전 의존관계 주입 책이 유명해지고 개발자들이 책의 예제 코드를 프로젝트에 사용되었다. 스프링 역사 전설의 시작 책 출간 직후 Juergen Holler(유겐휠러) Yann Caroff(얀 카로프) 가 로드 존슨에게 오픈소스 프로젝트로 제안했다 스프링 핵심 코드의 상당수는 유겐휠러가 지금도 개발하고 있다. 스프링 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 ..
AOPAOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 문제 회원가입, 회원 조회에 시간을 측정하는 기능은 핵심 관심 사항이 아니다. 시간을 측정하는 로직은 공통 관심 사항이다.시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 유지보수가 어렵다. 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다. 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다. MemberService 에서 입력한다 package oss.board.Service; import org.springframework.beans.f..
순수 JDBC package oss.board.repository; import org.springframework.jdbc.datasource.DataSourceUtils; import oss.board.domain.Member; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class JdbcMemberRepository implements MemberRepository{ // db에 넣으려면 데이터 소스 가 필요하다. private final DataSource dataSource; public JdbcMemb..
컴포넌트 스캔과 자동 의존 관계 설정 자바 스프링 빈을 등록하고, 의존관계 설정해야한다. 멤버 컨트롤러가 회원서비스와 리포지토리를 사용할 수 있게 의존관계를 준비하자. 멤버 컨트롤러에 의존관계 추가하기 @Controller public class MemberController { } MemberController위에 @Controller 어노테이션을 주입하면 자바 스프링은 어노테이션을 보고 멤버 컨트롤러 객체 (스프링 빈)를 생성해서 스프링 컨테이너 넣고 , 스프링이 관리한다. MemberControllerd에 MemberService 추가하기 @Controller public class MemberController { private final MemberService memberService = ne..
비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층구조 controller: 웹 MVC의 컨트롤러 의 역할 service: 핵심 비즈니스 로직 구현 repository:데이터베이스에접근 도메인 객체를 DB에 저장하고 관리 domain: 비즈니스 도메인 객체 예 회원 주문 쿠폰 주로 데이터 베이스에 저장하고 관리된다. 클래스 의존관계 아직 데이터 저장소가 선정되지 않아서 우선 인터페이스로 구현 클래스를 변경할 수있도록 설계 아주 편리하다. 데이터 저장소를 RDB로 할지 Nosql로 할지 다양한 저장소를 고민중인 상황으로 가정한다. 개발 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의..
정적 컨텐츠 정적 컨텐츠는 고정된 문서를 웹 서버에서 제공하는 것입니다. 이를 위해 스프링은 src/main/resources/static 디렉토리에서 정적 컨텐츠를 제공합니다. 예를 들어, /hello.html 경로에 hello.html 파일을 위치시키면, 스프링은 웹 브라우저에서 /hello.html 경로로 요청이 오면 해당 파일을 제공합니다. mvc 와 템플릿 엔진 MVC는 Model, View, Controller의 약자로, 하나의 애플리케이션을 구성하는 요소를 세가지 역할로 구분한 패턴입니다. 스프링에서는 MVC 패턴을 구현하기 위해 DispatcherServlet을 사용합니다. 템플릿 엔진은 동적으로 뷰를 생성하기 위해 사용됩니다. 스프링에서는 다양한 템플릿 엔진을 지원합니다. 대표적인 예로는..
welcome page만들기 경로: resource/static/index.html 위에 html 기본 페이지 설정된다. spring boot 공식홈페이지 자료 동작원리 컨트롤레에서 리턴값으로 문자를 반환하면 뷰 리졸버 가 viewResolver 가 화면을 찾아서 처리한다. 톰캣 내장 서버 은 인텔리 제이 설정되어있어서 따로 안 깔아도된다 참고 spring-boot-dvtools라이브러리를 추가하면 html 파일을 컴파일만 해주면 서버 재시작 없이 view 파일 변경이 가능하다. 인텔리제이 컴파일 방법: build → Recompile project 라이브러리 확인하기 grade 라이브러리 인텔리제이(오른쪽 상단사이드바) welcome 페이지 생성하기 (정적페이지) resource → static → i..