[ 스프링 입문 ] 스프링 DB접근 기술
·
web programming
순수 JDBC : SQL을 통해 애플리케이션 서버와 DB를 연결JPA : 쿼리없이 객체를 DB에 저장, 접근 가능  1. H2 데이터베이스 설치 🍃 H2 데이터 베이스Java로 작성된 오픈소스 경량형 관계형 데이터베이스 관리 시스템(RDBMS)내장형(Embedded) 모드와 서버(Server) 모드를 동시에 사용할 수 있음 - 데이터베이스 파일(test.mv.db) 로컬에 저장되면서, 서버 모드로 실행된 H2 서버를 통해 네트워크를 통해 데이터베이스에 접근할 수 있다. ( 해당 파일을 삭제(rm)하여 데이터베이스를 삭제할 수도 있다. )  🔸로컬환경에서 H2 데이터베이스 활용방식다운로드 받은 H2/bin파일내의 h2.sh (Linux/Mac) 또는 h2.bat (Windows) 스크립트를 사용하여 H..
[ 스프링 입문 ] 웹 MVC
·
web programming
1. 홈화면 추가컨트롤러가 정적 리소스보다 우선순위가 높다.홈 경로(/)에 매핑한 컨트롤러가 존재한다면 index.html(resources/static/index.html)이 아닌 이것이 먼저 동작하여 홈화면으로 동작하게 된다.   🔸 src/main/java/프로젝트명/controller/HomeController.javapackage hello.hello_spring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") publi..
[ 스프링 입문 ] 스프링 빈과 의존관계
·
web programming
1. 스프링 컨테이너와 의존관계   🔸 스프링 컨테이너 (Spring Container): 스프링 프레임워크의 핵심 요소로 스프링 애플리케이션의 객체들(Bean)들을 관리한다. 의존성 주입(Dependency Injection, DI)과 제어의 역전(Inversion of Control, IoC)을 통해 생성 및 객체간 관계설정을 수행한다.※ 동작방식 : Spring이 수행될때 스프링 컨테이너가 어노테이션에 해당하는 객체(빈)로 생성하여 관리한다. 사용자는 필요시마다 객체를 직접 생성하지 않고 스프링 컨테이너에 등록되어 관리되는 하나의 객체를 공유하여 쓰는 방식을 이용한다. 🍃 DI (Dependency Injection) : 의존성 주입의존관계 : 컨트롤러는 서비스를 통해 동작하고 서비스는 리포지토..
[ 스프링 입문 ] 회원관리 예제
·
web programming
1. 비즈니스 요구사항 정리 🍃 일반적인 웹 어플리케이션의 계층구조    🔸Controller : MVC동작, API 통신에서 컨트롤러의 역할( ex. 요청처리, 응답생성, 경로매핑 )🔸Service : 도메인을 가지고 핵심 비즈니스 로직의 구현( ex. 중복가입제어, 로그인 아이디 비밀번호 일치판단.. )🔸Domain : 데이터베이스에 저장하고 관리되는 비즈니스 도메인 객체🔸Repository : 데이터베이스에 접근, 도메인 객체를 저장하고 관리    데이터베이스가 선정되지 않았기에 Repository는 여러 상황에따라 변경될수 있도록 인터페이스로 설계한다.( 추후 단순 JDBC, Mybatis, JPA 등으로 구현가능 )초기개발단계에서는 가장 가볍고 간단한 메모리기반 저장소 구현체를 사용한다..
[ 스프링 입문 ] 프로젝트 환경설정, 스프링 웹개발 기초
·
web programming
1. 프로젝트 환경설정  🍃 Spring initializr로 스프링 프로젝트를 생성하는 작업  🔸 빌드 자동화 도구로 gradle을 주로 사용한다.빌드 자동화 도구란 ? 프로젝트의 빌드 과정( 컴파일-테스트-패키징-배포 ), 의존성 관리( 외부 라이브러리나 모듈을 프로젝트에 자동으로 포함 )등을 자동화한다.빌드 스크립트를 정의하여 빌드를 실행할 때마다 수행할 작업을 설정하고 관리하는 것이다.maven : 아파치의 빌드자동화 도구로 XML 파일(pom.xml)로 관리한다. ( 표준화 )gradle : Groovy 또는 Kotlin DSL을 사용해 빌드 스크립트를 작성한다. ( 유연성, 성능 향상 )  🔸 스프링부트의 버전은 정식 릴리즈된 상태에서 가장 높은 버전을 선택한다.snapshot은 개발중인..
JPA(Java Persistence API) 기본개념
·
web programming
23.12.20김영한 인프런강의 보면서 공부했던 기록들 노션에서 옮겨둡니다! 0. 서론 및 준비 [ lombok의 생성자 기능 ]@AllargumnetConstructor : 모든 필드를 받는 생성자@RequiredArgumentConstructor : final 필드를 받는 생성자 + final 주입대상@NoArgsConstructor(access = AccessLevel.PROTECTED) : 생성자 이용금지 = protected 생성자 효과 / 이는 생성메서드를 따로 구비한 경우 일관성유지를 위한 조치 [ 기능 테스트 관련 ]@SpringBootTest : 실제 스프링 부트를 구동시켜서 테스트를 실행한다. = Bean 주입가능( autowired ) = 스프링컨테이너를 활용@RunWith(Sprin..
SpringBoot 기본개념
·
web programming
23.12.20 김영한 인프런강의 보면서 공부했던 기록들 노션에서 옮겨둡니다! [ 프로젝트 환경설정 ] 기본 IDS는 JetBrain intelliJ ultimate( 유료버전 ) 프로젝트 파일 생성( spring.start.io ) Gradle 전체 설정( build.gradle ) plugins sourceCompatibility : java version repositories : 라이브러리 자동적으로 다운로드 받는 곳 지정( 기본 mavenCentral() ) dependencies : 의존성 라이브러리들 spring-boot-starter-thymeleaf, spring-boot-starter-web, spring-boot-starter-test등.. gitignore : git을 이용하는 경우..
JQuery를 이용한 웹프론트 페이지 클론코딩
·
web programming
2022/12/26 지난주 수목 이틀에 걸쳐서 진행했던 웹페이지 구현 실습내용들!! 이미 상용되고 있는 페이지 원본의 형태를 보고 그대로 구현해보고 (HTML, CSS) 기능은(JS) 완전 기초적인 것만 넣었다! 1. 잡코리아X알바몬 회원가입 사이트(팀과제) 오븐앱 와이어프레임 직접 디자인한 모습 팀원분이 css 다해주시고 나는 기능구현만 ㅎㅎ 회원가입의 기능구현을 위한 유효성 검사 기능제어 부분은 크게 두가지로 자바스립트와 jQuery 섞어서 사용했다 1) 입력되지 않거나 입력형태를 준수하지 않은 폼의 제출을 막고 적절한 경고창 띄우기 form태그의 onsubmit 이벤트 속성에 유효성 검사식을 담은 check함수를 핸들러로 연결하여 조건에 맞지 않은 데이터들이면 false값을 반환해 제출을 막는다. ..
갬짱
'web programming' 카테고리의 글 목록