본문 바로가기

개발TIL31

[TIL] 231213 스프링 입문 | 김영한 인프런 https://www.youtube.com/playlist?list=PLumVmq_uRGHgBrimIp2-7MCnoPUskVMnd 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 인프런 전체 강의(무료): https://bit.ly/hellospring 재생 목록: https://www.youtube.com/playlist?list=PLumVmq_uRGHgBrimIp2-7MCnoPUs... www.youtube.com MVC : Model Controller View Controller (java파일)과 View(html)을 나눠서 구현하는 것 API : Json방식으로 구현 @ResponseBody를 사용.. 2023. 12. 13.
[TIL] 231211 Spring Security 관리자 페이지 만들기, Spring 댓글 페이지, 프로젝트 회고 관리자 페이지 만들기 이번 프로젝트에서 관리자 페이지를 만들어 보았다. 관리자 권한으로 로그인 할 경우, 게시물 수정, 삭제가 가능하다. 게시물(Post)의 Controller와 Service단을 Admin 패키지에도 만들어준다. adminController에서 관리자 권한으로 허용하는 페이지의 uri와 hasRole을 넣어 관리자가 관리 가능하게 만들어준다. 댓글 페이지 게시물 밑에 댓글이 같이 표시되게 구현하려고 했다. 게시물 전체보기 페이지의 경우 게시물만 표시되게 하고 개별로 게시물을 조회했을 땐 댓글이 조회 되도록 하고 싶어서 게시물만 있는 PostResponseDTO와 게시물과 댓글이 같이 나오는 PostCommentResponseDTO를 따로 만들었다. 게시물 전체보기 페이지는 전체 게시물을.. 2023. 12. 11.
[TIL] 231207Spring Web, WAS, Servlet, HttpServlertRequest Web 과 WAS Client가 요청한 것을 정적으로 처리할 수 있으면 Web가 정적 파일을 처리한다. 동적으로 처리해야 할 경우 WAS가 DB와 소통하여 처리한다. WebServer : 정적 컨텐츠 제공 (HTML문서, CSS, 이미지, 파일 등) WAS (Web Application Server): DB조회, 동적 컨텐츠 제공 WAS는 Java Servlet 컨테이너를 포함하고 있어서 Java 웹 애플리케이션(우리가 만드는 Spring 서버)을 실행한다. Servelt이란 웹 어플리케이션을 위한 JAVA 클래스 구조를 가진 자바 서버 프로그래임이다. HttpServlet, Servlet ServletRequest에는 파라미터, 헤더, 세션 등이 포함되어있다. 출처: https://velog.io/@j.. 2023. 12. 7.
[TIL] 231206Spring Optional, 쿠키, 세션 만들기, JWT Optional ‘null’일 수도 있는 객체를 감싸는 wrapper클래스 Optional FindByUserName의 경우 FindByUserName.get()으로 담긴 객체 반환 .isPresent로 null인지 값이 담겼는지 확인 가능 쿠키 만들기 AuthController public static void addCookie( String cookieValue, HttpServletResponse rep) cookie Valuer를 받아오기 url 인코더에 넣어서 공백 제거 후 New Cookie생성 (AUTHORIZATION_HEADER, cookeValue) Path, setMaxAge (만료기한) 등 넣기 이 정보를 HttpServlet에 담기: rep -> client에 반환 res.addC.. 2023. 12. 6.
[TIL] 231201Spring 통합테스트 Service Test 통합테스트 (Integration Test) 두개 이상의 모듈이나 클래스를 테스트 할 수 있다 모듈 간의 연결에서 발생하는 에러 검증 가능 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) // 서버의 PORT 를 랜덤으로 설정합니다. @TestInstance(TestInstance.Lifecycle.PER_CLASS) // 테스트 인스턴스의 생성 단위를 클래스로 변경합니다. @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @SpringBootTest에너테이션으로 스프링 실행되게 함(unit test시에는 스프링 실행 안됨) class ProductServiceIntegr.. 2023. 12. 2.
[TIL] 231130Spring Timestamped @Service @Transactional Timestamped Timestamped class추가할때 어플리케이션에 @EnableJpaAuditing 추가하기! @Transactional Service단에 update 메서드에 더티채킹(dirty checking) 위해 @Transactional 에너테이션 넣기! 2023. 11. 30.