'💻 my code archive/🏷️JAVA & Spring(Boot)' 카테고리의 글 목록 (6 Page)
my code archive
article thumbnail
스프링부트 공부기록(8) - 게시판 프로젝트 :: 머스테치 사용, 게시판 글 등록 구현하기

지난번 포스팅에서 머스테치를 사용하여 첫 페이지까지 만들었다. 이제 만들어둔 머스테치에 URL을 매핑해야 한다. 1. IndexController 클래스 작성 머스테치 스타터 덕분에 컨트로러에서 문자열 반환 시 앞의 경로와 뒤의 파일 확장자는 자동으로 지정됨. 앞의 경로는 src/main/resources/templates , 확장자는 .mustache 로 전환되어 View Resolver가 처리하게 됨. 2. IndexControllerTest 클래스 작성 테스트 통과 🤍게시판 글 등록 화면 만들기 :: 부트스트랩 활용 1.레이아웃 파일 만들기 header.mustache footer.mustache 페이지 로딩 속도를 높이기 위해 css는 header, js는 footer에 위치함. HTML은 위에서..

article thumbnail
스프링부트 공부기록(7) - 머스테치(Mustache) 화면 구성하기

🤍서버 템플릿 엔진이란? 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 이야기함. JSP, Freemarker - 서버 템플릿 엔진 / 리액트, 뷰 - 클라이언트 템플릿 엔진 서버 템플릿 엔진은 서버에서 구동됨. 서버 템플릿 엔진을 이용한 화면 생성은 서버에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달함. 반대로 자바스크립트는 브라우저 위에서 작동하기 때문에 뷰,리액트를 이용한 SPA는 브라우저에서 화면을 생성함. 서버에서는 Json, Xml 형식의 데이터만 전달하고 클라이언트에서 조립합. 🤍머스테치란? 머스테치는 루비, 자바스크립트, 파이썬, PHP, 자바 등 현존하는 대부분 언어를 지원하는 가장 심플한 템플릿 엔진임..

article thumbnail
스프링부트 공부기록(6) - JPA Auditing으로 생성 시간/수정시간 자동화하기

보통 웹 개발을 할 때 해당 데이터의 생성 시간, 수정 시간을 포함한다. 이번 쇼핑몰 프로젝트를 진행할 때에도 상품 등록 날짜, 수정 날짜가 포함되어 있었다. 이처럼 언제 만들어졌고 언제 수정되었는지 등은 차후 유지 보수에 있어 굉장히 중요한 정보이기 때문이고 매번 DB에 삽입하기 전, 갱신하기 전에 날짜 데이터를 등록/수정하는 코드가 여기저기 들어가게 된다. Java8이 나오기 전에는 Data, Calendar 클래스를 사용했지만 몇 가지 문제점이 있었고, 이제는 Java8 이후부터 LocalDate, LocalDateTime을 사용할 수 있다. 🤍1. BaseTimeEntity 클래스 생성 모든 Entity의 상위 클래스가 되어 Entity들의 createdDate(생성 날짜), modifiedDat..

article thumbnail
스프링부트 공부기록(5) - 게시판 프로젝트 :: Dao 도메인 패키지, 글 등록, 수정, 조회 JPA 어노테이션, 테스트 코드 작성

domain 패키지 : 도메인을 담을 패키지, 여기에서 도메인이란? 게시글, 댓글, 회원, 결제 등 소프트웨어에 대한 요구사항 혹은 문제 영역에 해당됨. 기존 MyBatis에서 dao 패키지 역할과 비슷함. 단, 기존에는 xml에 쿼리를 작성하고 클래스에서 쿼리의 결과를 담았다면 이제 모든 것이 도메인 패키지에서 해결됨. Web, Sercice, Repository, Dto, Domain 5가지 레이어 중 비지니스 처리를 담당할 곳이 바로 Domain. 기존에는 모든 로직이 서비스 클래스 내부에서 처리됐기 때문에 서비스 계층이 무의미했으나 도메인 모델에서 처리할 경우 각자 본인의 이벤츠 처리를 하며 서비스 메소드는 트랜잭션과 도메인 간의 순서만 보장해 준다. 테스트 코드 작성 패키지 구조 🤍1. Post..

article thumbnail
스프링부트 공부기록(4) - JPA로 데이터베이스 다루기

12월 중순부터 2월말까지 열심히 학원 팀프로젝트를 진행했다. 진행하면서 느낀 점은 웹 개발과 DB가 정말 뗄레야 뗄 수 없는 관계구나...생각했다...ㅎㅎ 코드 한줄 한줄 짜는 것만큼 쿼리문 한줄 한줄 짜는 것도 정말 어렵고 복잡했는데 스프링부트에서는 JPA라는 새로운 데이터베이스 기술을 사용하고 있다고 한다. 쿠팡, 우아한형제들 등 자사 서비스를 개발하는 곳에서는 SpringBoot&JPA를 전사 표준으로 사용하고 있다고 한다. 🤍JPA란? 기존 데이터베이스 방식은 객체지향 프로그래밍에서 조금 벗어난, 데이터베이스 모델링에만 집중하는 방향이었다. JPA는 이런 문제점을 해결하기 위해 등장했다. 관계형 데이터베이스 - 객체지향 프로그래밍 언어 2개 영역을 중간에서 패러다임 일치를 시켜주기 위한 기술. ..

article thumbnail
스프링부트 공부기록(3) - 롬복 사용하기

🔍롬복이란? 자바 개발 시 자주 사용하는 코드 Getter, Setter, 기본생성자 등을 어노테이션으로 자동으로 생성해줌. 인텔리제이에서는 플러그인 덕분에 쉽게 설정이 가능함. 1. build.gradle에 라이브러리 추가 implementation('org.projectlombok:maven-lombok-plugin:0.9.3.1') 2. Lombok 플러그인 설치 3. 롬복에 대한 설정 - settings - Annotation Processors - Enable annotation processing 체크 4. Dto 패키지 추가 4. 앞서 작성한 코드를 롬복 코드로 변경하기 위한 HelloResponseDto 생성 큰 규모의 프로젝트라면 롬복 전환이 어렵지만 테스트 코드 덕분에 쉽게 변경이 가능..

article thumbnail
스프링부트 공부기록(2) - JUnit4 테스트 코드 작성, HelloController 테스트

🤍스프링부트와 aws로 혼자 구현하는 웹서비스 2장 테스트코드의 필요성 -대부분의 회사에서 테스트 코드에 관해 요구를 하고 있다고 한다. -테스트코드는 개발 단계 초기에 문제를 발견할 수 있게 도와준다. -불확실성을 감소시킬 수 있다. 🤍1.Application 클래스 생성 @SpringBootApplication : 스프링부트 자동 설정, 스프링 Bean 읽기와 생성이 모두 자동으로 설정됨. @SpringBootApplication이 있는 위치부터 설정을 읽어가기 때문에 항상 프로젝트 최상단에 위치해야 함. SpringApplication.run : 내장 WAS를 실행. 내장 WAS란? 별도로 외부에 WAS를 두지 않고 애플리케이션을 실행할 때 내부에서 WAS를 실행함. '언제 어디서나 같은 환경에서 ..

article thumbnail
스프링부트 공부기록(1) - intelliJ Gradle 기본 개발 환경 설정, Github 연결

6개월간의 국비학원 과정이 마무리를 향해 달려가고 있다... 이제 수료까지 약 2주가 남아서 학원 스터디원들과 남은 기간동안 취업에 필수이고 학원에서 배우지 못했던 스프링 부트를 독학하기로 했다! 우리가 스프링 부트(SpringBoot)를 공부하기 위해 선택한 책은 📚스프링부트와 aws로 혼자 구현하는 웹서비스📖 이다!! 선택 이유 : 스프링부트 책추천으로 언급되는 책이 몇 권 있는데 그중에서 이 책은 두께가 얇은 편이라 우리가 정한 공부기간에 알맞다는 생각이 들었다! 🤍스프링부트와 aws로 혼자 구현하는 웹서비스 1강 개발환경 설정 먼저 인텔리제이를 실행하고 Gradle을 선택해 프로젝트를 만들어준다. 다음으로 스프링부트 프로젝트로 변경하기 위해 build.gradle 파일에 라이브러리를 추가해준다. ..

반응형
반응형