본문 바로가기

SpringBoot15

JPA Update Query - UserService @Override @Transactional public void updateUserInfo(UserId userId, String changePhoneNum) { UserInfo findUserInfo = userInfoRepository.findByUserId(userId).get(); findUserInfo.setPhone(changePhoneNum); } 리포지토리를 통해 입력받은 UserId의 값으로 회원정보를 끌어와 영속성 컨텍스트에 저장한다. (UserId는 듀얼 메인키라서 클래스로 구분했음) Repository의 save를 호출하지 않아도 @Transactional이 있는 메서드의 영속성 컨텍스트의 값이 변경 되면 변경감지(더티채킹)으로 인해 update쿼리를 알아.. 2022. 10. 28.
spring boot 웹소켓통신 메세지 ping pong. 클라이언트에서 ping을 응답하면 서버에서 pong을 응답하고 ping이 아닌 다른 문자로 요청하면 요청한 문자 그래도 응답해주는 ping pong 웹소켓 통신 연습. - 웹 소켓 서버 @SpringBootApplication public class WebSocketServerApplication { public static void main(String[] args) { Socket socket = null; //클라이언트와 통신을 위한 소켓 ServerSocket server_socket = null; // 서버생성 서버소켓 BufferedReader in = null; //클라이언트 데이터 읽기 입력스트림 PrintWriter out = null; //클라이언트에 데이터 전송 출력스트림 try { .. 2022. 10. 2.
Spring Boot AWS EC2 배포시 연결이 거부되었습니다. spring의 jar파일을 ubuntu 환경에서 실행 후 aws도메인에 접근하면 '연결이 거부되었습니다'라는 메세지와 함께 사이트에 연결되지 않는 이슈가 발생할 수 있다 그럴땐 aws 터미널에서 sudo su로 접근 후 iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 를 입력해주면 80포트를 8080포트로 포워딩 해준다. (80요청은 이제부터 8080으로 인식) 루트 사용자에서 일반 사용자로 다시 돌아와서 jar파일을 실행하고 싶다면 su - $username 를 입력해준다. 2022. 9. 22.
Spring Boot 회원 정보 출력 (JPA N+1 문제 해결, Ajax, Thymeleaf) - myPage.html 내 정보 아아디 : 이름 : 이메일 : 생일 : 닉네임 : 성별 : 전화번호 : 내가 속한 팀 목록 myPage.html로 이동하자마자 스크립트 부분의 ajax 부분을 통해 서버에 요청을 보낸다. (로그인 상태를 증명하기 위해 헤더에 Token을 담아서 요청을 보냄) - UserController.java /** * 회원 상세정보를 확인하는 매핑 함수 * @param principalDetails * @return */ @PostMapping("/api/v1/user/mypage") @ResponseBody public ResponseEntity userInformation(@AuthenticationPrincipal PrincipalDetails principalDetails).. 2022. 9. 21.