SpringBoot 38

[Hanaro] 49일차 / Spring Boot (Thymeleaf, 데이터 전달 및 Param 값 받기, List로 데이터 저장)

Thymeleaf 타임리프의 조건식 th:if if 조건이 false인 경우 해당 값이 랜더링되지 않는다. 예시 th:unless unless 조건이 false인 경우 값이 출력된다. 예시 th:switch 예시 사용자는 관리자입니다. 사용자는 손님입니다. 사용자는 그외 권한입니다. th:block 타임리프의 자체 로직을 위한 블록 태그 위의 조건식과 함께 사용한다. 예시 address_null은 null입니다. address_null은 null이 아닙니다. 타임리프의 날짜/금액 출력 날짜 컨트롤러에서 model.addAttribute("localDate", LocalDate.*now*()); html에서 금액 컨트롤러에서 model.addAttribute("number1", 12345678); html..

[Hanaro] 48일차 / Spring Boot (어노테이션, Thymeleaf, Request Mapping)

백엔드 개발 심화(JAVA) 01 Web Applicaiton 개발 환경 세팅 및 Architecture 이해 Spring boot Dir 환경 src/main/java Controller, Service, Repository, DTO, Entity 등 서버 사이드에서 필요한 자바 클래스 생성 프로젝트 생성 시 만든 package를 기반으로 이후 새롭게 만들어 사용 src/main/resources/static Thymeleaf를 이용하여 웹 애플리케이션에 필요한 이미지, CSS, JS 등 기입 src/main/templates Thymeleaf를 이용하여 개발 시 화면 파일 작성 (JSP 미사용) src/main/webapp/view JSP를 이용하여 개발 시 View에 해당하는 JSP 작성 appli..

스프링부트3 백엔드개발자되기 / 5장 데이터베이스 조작이 편해지는 ORM

데이터베이스DBMS(Database managements system)데이터베이스 관리 및 운영MySQL, 오라클관계형 DBMS(RDBMS)테이블 형태로 이루어진 데이터 저장소각 행은 고유의 키(아이디)를 가지고 있고 값들이 들어간다.ORM(object-relational mapping)자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법SQL을 직접 작성하지 않고 데이터베이스에 접근JPA(Java Persistence API)자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스사용시 ORM 프레임워크 사용(hibernate, 내부적으로는 JDBC API 사용)데이터베이스- JDBC- 하이버네이트- JPA- 스프링데이터JPA- 애플리케이션엔티티(Entity)데이터베이스의 테이블과 매핑되는 객체..

스프링부트3 백엔드개발자되기 / 4장 스프링 부트 3와 테스트

테스트 코드test 디렉토리에서 작업테스트 코드 패턴given-when-then 패턴given테스트 실행 준비new 생성자when테스트 진행final Long id = service.save(생성변수명)then테스트 결과 검증클래스 = service.findById(id).get()assertThat(클래스.get변수()).isEqualsTo(변수)테스크 도구JUnit자바 프로그래밍 언어용 단위 테스트 프레임워크작은 단위로 검증하며 단위는 메서드가 된다.@Test 어노테이션으로 메소드를 호출할 때마다 새 인스턴스를 생성, 독립 테스트 가능Spring Test & Spring Boot Test스프링 부트 애플리케이션을 위한 통합 테스트 지원Mockito테스트에 사용할 가짜 객체인 목 객체를 쉽게 만들고, ..

스프링부트3 백엔드개발자되기 / 3장 스프링 부트 3 구조 이해하기

스프링 부트 3 구조프레젠테이션 계층Controller 구현HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할비즈니스 계층Service 구현모든 비즈니스 로직(서비스 만들기 위한 로직) 처리퍼시스턴스 계층Repository 구현모든 데이터베이스 관련 로직 처리데이터베이스에 접근하는 DAO 객체 사용할 수도 있다.데이터베이스스프링 부트 프로젝트 디렉터리main실제 코드 작성 공간프로젝트 실행에 필요한 소스 코드, 리소스 파일 존재javaresourcestemplatesHTML 같은 뷰 파일 생성staticJS, CSS, 이미지와 같은 정적 파일 생성application.yml스프링 부트 설정 파일서버가 실행되면 자동으로 로딩데이터베이스의 설정 정보, 로깅 설정 정보 등 존재, 직접 설정 정의t..

스프링부트3 백엔드개발자되기 / 2장 스프링 부트 3 시작하기

스프링 부트스프링 코어, 스프링 MVC의 모든 기능을 자동으로 로드하여 개발 환경 구성자체적으로 WAS를 갖고있다. (톰캣 등)WAS: 웹 어플리케이션을 실행하기 위한 장치IoC(Inversion of Control)제어의 역전다른 객체를 직접 생성하는 것이 아니라 외부에서 관리하는 객체를 가져와 사용하는 것스프링에서 객체들을 관리하기 위해 사용예로 new로 객체 생성이 아닌, private A a; 처럼 받아오는 것DI(Dependency Injection)의존성 주입IoC을 구현하기 위해 사용하는 방법이며, 스프링 컨테이너에서 객체를 주입받아 사용예로 @Autowired 어노테이션은 스프링 컨테이너에 있는 빈(스프링 컨테이너에서 관리하는 객체)을 주입하는 역할이며 private A a; 코드 바로 위..

스프링부트3 백엔드개발자되기 / 1장 자바 백엔드 개발자가 알아두면 좋은 지식

클라이언트서버로 요청하는 프로그램을 모두 일컬어 말한다.예를 들어 웹 브라우저가 대표적인 클라이언트서버클라이언트의 요청을 받아 처리하는 주체데이터베이스데이터 저장소MySQL, 오라클 등 데이터베이스 관리 시스템이 있다.RDB(Relational Database)관계형 데이터베이스행과 열로 이루어진 테이블로 관리하며 primary key를 사용해 각 행을 식별한다.각 테이블 간의 관계를 지을 수 있다.SQL(Structured Query Language)쿼리, 데이터 검색을 하는 언어NoSQLNot Only SQL의미로 많이 사용데이터베이스의 성능을 높이기 위하여 등장했다.다이나모디비, 카우치베이스, 몽고디비 등 존재라이브러리애플리케이션 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드의 모음프레임워..

[Spring Boot] Thymeleaf

Thymeleaf 이란? 템플릿 엔진의 일종이며 html 태그에 속성을 추가하여 페이지에 동적으로 값을 추가하거나 처리 템플릿 엔진 템플릿 양식과 데이터가 합쳐져 html 문서를 출력하는 소프트웨어 서버에서 DB나 API 등을 통해 가져온 데이터를 템플릿에 넣어서 클라이언트에 전달 고정인 부분은 템플릿, 동적으로 생성되는 부분을 타임리프로 템플릿 특정 위치에 끼워넣는 것 html 페이지 개발자 도구로 열어도 th: 속성은 표시되지 않는다. -> input 태그: th:value의 값이 존재하면 해당 값 세팅, 존재하지 않으면 value=의 값 세팅 Thymeleaf 사용 ThymeleafViewResolver 등록해야 사용 가능 Gradle build.gradle implementation 'org.sp..

728x90