• Image placeholder
  • 홈 페이지
  • 블로그 센터
  • 범주
Image placeholder

Springboot

#4 - Board 테이블, View 컨트롤러

Board.java BoardRepository.java BoardSaveDto.java BoardEditDto.java BoardPostingService.java BoardPostingController.java Board 테이블의 로직을 정리해 놓은 포스팅이며, 기본적인 세팅은 User 테이블의 로직과 동일합니다. Board.java 마찬가지로 Setter는 없으며, 게시판의 기본적인 ...

SpringbootSpringJavaJava

사이드프로젝트 정리1 (멀티 모듈 설정, gradle)

처음에 프로젝트 진행시 모듈화를 진행하지 않았습니다. 추후에 진행하게되었는데요. 아무래도 혼자서 모두 진행하다보니 굳이 기능별 모듈화를 나눠서 진행할 필요성을 느끼지 못해서 그런것 같습니다. 하지만 기능별 모듈화를 진행하게되면 관리적인 측면이나 개발적인 측면등에서 장점이 많다는 것을 알게 되었으며, 추후에 추가적인 기능들을 생각하여서 모듈화를 지금이라도 진행하게 되었습니다. 모듈화 후 디렉토...

Springboot사이드프로젝트SpringJavaJava

[SpringBoot] MyBatis 설정하기

객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 보다 쉽게 도와주는 프레임워크이다. 자바 Object와 SQL 사이의 자동 매핑 기능을 지원한다. 자바에서는 관계형 데이터베이스 프로그래밍을 하기 위해 JDBC를 제공한다. cf) JDBC - 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스 JDBC는 다양한 관계형 데이터베이스 프로그래밍...

SpringbootSpringboot

스프링부트 - 스프링시큐리티 세션방식

스프링부트에서 Redis를 연동하는 연습용 프로젝트를 만들어 보겠습니다! 깃헙에 있는 정리본을 참고해주세요! 스프링시큐리티, h2 database, 타임리프 의존성을 추가해줬습니다. 회원 정보를 저장할 DB로 간단한 h2를 사용해줍니다. (대신 서버가 종료되면 DB도 날라감!) 스프링 시큐리티 의존성을 추가하면, WebSecurityConfigurerAdapter 클래스가 실행됨. 여기서는 ...

Springboot로그인SpringSecurity스프링부트쿠키스프링시큐리티세션SpringSecurity

SpringBoot with JPA 프로젝트(M:N) 5.영화등록,등록된글 리스트처리

영화(Movie)의 등록과 수정에는 파일 업로드 기능을 활용해 영화 포스터 등을 등록할 수 있도록 구성 회원(Member)은 특정한 영화 조회 페이지에서 평점과 자신의 감상을 리뷰(Review)로 기록할 수 있다 조회 화면에서 회원(Member)은 자신이 기록한 리뷰(Review)의 내용을 수정/삭제할 수 있다 MovieDTO 는 Movie 클래스를 기준으로작성한다, MovieDTO는 화면에...

JavaSpringbootJPAmysqlJPA

SpringBoot Paging 처리 방법

SpringBoot에서는 JPA를 통해 페이징 처리를 쉽게 활용할 수 있습니다. 예제 소스는 TodoList-backend 소스를 사용하였습니다. Page 정보를 가지고 있는 Pageable 객체 controller단에서 파라미터로 받는 정보들 : @RequestParam : pageNo(0부터 시작), pageSize, sortBy 처리 로직 정리(entity -> Dto) ✅ Respon...

페이징SpringbootPagingJPAJPA

SpringBoot with JPA 프로젝트(M:N) 6.영화조회,리뷰등록,삭제

1-1.Service 수정 1-2.ServiceImpl 수정 MovieDTO 를 만들어 내기 위해 MovieRepository에서 가져오는 Movie, MovieImage 리스트, 평점 평균, 리뷰 개수의 리스트를 가공한다 1-3.Controller 수정 GET 방식으로 '/movie/read?mno=xxx'와 같은 URL을 처리한다(수정 작업에도 동일한 코드가 사용된다) 2-1.Review...

JavaSpringbootJPAmysqlJPA

SpringBoot에서 테스트코드 작성하기

TDD : 테스트가 주도하는 개발 → 테스트 코드를 먼저 작성 항상 실패하는 테스트를 먼저 작성(Red) 테스트에 통과하는 프로덕션 코드를 작성(Green) 테스트 코드를 먼저 작성할 필요도, 리팩토링도 필요하지 않다. 개발자가 추후 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다. 스프링 부트의 자동 설정, 스프링 Bean 읽기와 생성을 모...

SpringbootunittestTDDSpringboot

스프링 부트와 JPA 활용1 - 도메인 분석 설계 4 & 영속성 컨텍스트

도메인 분석 설계 목차 2. 도메인 모델과 테이블 설계 3. 엔티티 클래스 개발1 4. 엔티티 클래스 개발2 5. 엔티티 설계시 주의점 엔티티 조회 시점 선택 즉시 로딩 (EAGER LOADING) 지연 로딩 (LAZY LOADING) 연관된 엔티티 실제 사용 시 조회 @ManyToOne @OneToOne 의 default는 즉시 로딩 👉 직접 지연 로딩 설정 @OneToMany @ManyT...

SpringbootJPAJPA

[스프링] 스프링&인텔리제이 환경 설정

스프링으로 프로젝트 진행하기 기본 설정 기본 세팅 인텔리제이 JAVA 11 1. 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 dependecies에서 필요한 것들을 선택해준다. 이후에 프로젝트(build.gradle)에서 아래처럼 필요한 것을 직접 추가할 수도 있다. 2. 기본 설정 변경해주기 최근에 Intellij 버전은 Gradle을 통해서 실행하는 것이 기본이지만 이렇게 ...

SpringbootSpringboot

스프링 부트와 JPA 활용1 - 회원 도메인 개발 3

회원 도메인 개발 목차 1. 회원 리포지토리 개발 2. 회원 서비스 개발 3. 회원 기능 테스트 회원가입 할 때 같은 이름이 있으면 예외가 발생해야 한다. MemberService 클래스 Test - 단축키 (Ctrl+ Shift + T for Win/Linux) 1) 회원 기능 테스트 (MemberServiceTest.java) 테스트 케이스 작성 @SpringBootTest : 스프링 컨...

SpringbootJPAJPA

SpringBoot에서 JPA 사용하기(3) - API 만들기

Request 데이터를 받을 Dto 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service Service는 트랜잭션, 도메인 간 순서 보장의 역할만 한다고 한다. Filter, Interceptor, Controller Advice, Controller, View Template 등 외부 요청과 응답에 대한 전반적인 영역 Service Layer @Service에 사용 되는 영역 @Tra...

APISpringbootJPAAPI

[AndroidStudio,GoogleMap,Firebase,SpringBoot] KnockKnock 개발일지 - 0324 (실시간 위치 업데이트, 구글맵으로 찍은 좌표 주변 데이터 조회하기)

오늘의 목표 ✔실시간 위치 정보 업데이트 문제 해결하기 ✔유저로부터 구글맵 좌표 설정값을 받을 fragment 새로 만들기 ✔구글맵 좌표 설정값 가져오기 ✔구글맵 좌표 설정값 or 유저의 현재 위치(default) 값으로 주변 데이터 조회하기 참고한 링크 오늘의 이슈 실시간 위치 정보 업데이트가 되지 않는 문제 💥 - 나중에 Point를 활용해서 lat,lon 변수 사용 고치고 쿼리문도 간단...

SpringbootFirebase개발일지AndroidStudioKnockKnockgooglemapAndroidStudio

[스프링 핵심 원리] 1. 예제 만들기

회원 도메인 설계 회원 도메인 개발 회원 도메인 실행과 테스트 주문과 할인 도메인 설계 주문과 할인 도메인 개발 주문과 할인 도메인 실행과 테스트 회원 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. ✍ 회원 도메인 설계 회원 도메인 요구사항 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다...

SpringbootSpringSpring

[SpringBoot] CSR 방식에서response.sendRedirect() 사용시 유의점

로컬에서 테스트 할 때 전혀 문제없던 로그인 기능이 AWS에 배포하고 나서는 작동하지 않았다. 클라이언트에서는 404도 아닌 아예 응답이 오지않는다는 에러 로그를 확인했고 Postman으로 테스트 시 신기하게 요청 도메인이 127.0.0.1, 로컬 호스트와 연결할 수 없다는 에러가 발생했다. 로컬에서 서버를 실행하고 Postman으로 요청을 보내면 로컬로 요청이 와서 에러가 발생하지 않았다....

Springboot트러블슈팅Springboot

사이드프로젝트 정리3 (Jacoco 설정)

테스트 코드를 돌리고, 설정한 퍼센트만큼 커버하지 못한다면 빌드를 못하게끔 막을 수 있습니다. 적용한 이유는 제가짠 코드들이 어느정도 까지 커버를 하는지 궁금해서 적용시켜보았고, 어떤 코드가 필요가 없는지 눈으로 쉽게 파악하기 위해서 적용시켜 보았습니다. jacocoTestReport는 테스트 결과를 설정하는 부분으로 다양항 형태의 파일 타입으로 받을 수 있습니다. 커버리지 퍼센트(소수점) ...

Springbootjacoco사이드프로젝트SpringSpring

[스프링 핵심 원리] 4. 싱글톤 컨테이너

✍ 싱글톤 컨테이너 싱글톤 패턴을 적용한 예제 코드 싱글톤 패턴을 사용하는 테스트 코드 호출할 때 마다 같은 객체 인스턴스를 반환하는 것을 확인할 수 있다. 싱글톤 패턴을 적용하면 고객의 요청이 올 때 마다 객체를 생성하는 것이 아니라, 이미 만들어진 객체를 공유해서 효율적으로 사용할 수 있다. 하지만 싱글톤 패턴은 다음과 같은 수 많은 문제점들을 가지고 있다. ✍ 싱글톤 컨테이너 스프링 컨...

SpringbootSpringSpring

VSCode - Spring Boot 프로젝트에서 MVC 패턴으로 View 호출

이전 포스팅에서 만든 Spring Boot 프로젝트에서 MVC 패턴으로 View 화면을 호출해보자. MVC 패턴 사용하기 위한 설정 1> build.gradle 파일에 라이브러리 추가 -- implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' 추가 -- View 화면에 사용할 템플릿 엔진을 위한 라이브러리 -- Spring Boot 용 ...

SpringbootvscodeSpringboot

SpringBatch

BATCH_JOB_INSTANCE 동일한 파라미터로 2번 이상 실행할경우 예외가 발생한다. -> 즉 동일한 Job Parameter는 여러개 존재 할 수 없다. BATCH_JOB_EXECUTION step1에서 정상일때는 step2로 오류가 났을때는 step3로 수행하길 원할경우를 대비해 Spring Batch Job에서는 조건별로 Step을 사용할 수 있다. Batch Status vs E...

SpringbootSpringbootbatchspringbatchSpring

gradle 프로젝트를 spring boot 프로젝트로 변경하기

스프링 이니셜라이저를 사용하지 않고 스프링부트 프로젝트 시작하기 build.gralde 코드의 역할 알기 gradle 7.4.2 변경 -> plugins 사용 buildscripts 을 통해 spring boot로 바꾸지 않고, gradle 7.4.2 에서는 plugins 를 통해 간단하게 plugin을 적용할 수 있도록 한다. 이렇게 적용함해 build script 를 통한 적용보다 몇 가...

gradleSpringbootIntelliJIntelliJ

[스프링 핵심 원리] 2. 객체 지향 원리 적용

이 문제를 해결하려면 누군가가 클라이언트인 OrderServiceImpl에 DiscountPolicy의 구현 객체를 대신 생성하고 주입해주어야 한다. 애플리케이션의 전체 동작 방식을 구성(config)하기 위해, 구현 객체를 생성하고, 연결하는 책임을 가지는 별도의 설정 클래스를 만들자. ✍ 새로운 구조와 할인 정책 적용 할인 정책 변경 구성 코드 이제 할인 정책을 변경해도, 애플리케이션의 ...

SpringbootSpringSpring

JPA + QueryDSL 계층형 댓글, 대댓글 구현(1)

JPA + QueryDSL을 이용한 계층형 댓글, 대댓글 Post 엔티티 클래스 post 와 comment의 관계는 1:N 관계이다. comment는 자기 자신을 selfjoin을 하고있으며, 부모 댓글이 삭제될 시 하위 댓글들도 같이 삭제가 된다. 여기서 처음 Post를 조회할 때 컬렉션 객체는 바로 가져올 수 없으므로 따로 처리를 해주어야 한다. 먼저 viewCount를 조회 시 자동으로...

SpringbootQuerydslJPAJPA

Springboot JUnit and Mockito

단정문으로 테스트 케이스의 기대값에 대해 수행 결과를 확인할 수 있음 이 모듈은 jupiter-api를 사용하여 작성한 테스트 코드를 발견하고 실행하는 역할을 수행 테스트를 발견하고 테스트 계획을 생성하는 TestEngine 인터페이스를 가지고 있다. 테스트 도구이며 외부 테스트 프로그램을 작성해 할 필요 없이 이를 관리해줄 수 있다 테스트 결과를 확인하는 것 뿐만 아니라 최적화된 코드를 유...

SpringbootjunitMockitoMockito

스프링 부트와 JPA 활용1 - 상품 도메인 개발 2

인프런 - 스프링 부트와 JPA 활용1 by 김영한 을 기반으로 작성된 글입니다. 상품 도메인 개발 목차 1. 상품 엔티티 개발(비즈니스 로직 추가) 2. 상품 리포지토리 개발 3. 상품 서비스 개발 구현 기능 상품 등록 상품 목록 조회 상품 수정 1) 상품 리포지토리 (ItemRepository.java) 💻 코드 📍 기능 설명 1) 기능 save() em.persist() - 신규 등록 ...

SpringbootJPAJPA

[뭐라도 해야지...] Post관련 CRUD api 작성하기. 1)

ReactSpringboot뭐라도 해야지mysqlReact

© 2022 intrepidgeeks.com

Privacy Policy Contact US Sitemap
🍪 This website uses cookies to ensure you get the best experience on our website. Learn more