본문 바로가기

전체 글

(211)
Spring Boot 프로젝트_항공사 플랫폼 팀 프로젝트 개발 기간 23.05.15 ~ 23.06.07 (총 24일) 개발 환경 개발 환경 : spring boot, MySQL, Apache&Tomcat, MyBatis, JSP, H2, Lombok, BCrypt, Chart.js 사용 언어 : java, HTML5, CSS3, JavaScript, JQuery 형상 관리 & 협업툴 : Gradle, Github, Jira 데이터베이스 ERD 모델 깃허브 https://github.com/afeelingeffort/green_airline_project.git GitHub - afeelingeffort/green_airline_project Contribute to afeelingeffort/green_airline_project development by c..
Security_Spring Security Spring Security : 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크이다. 주로 필터에서 돌아간다. 즉, Security는 보안 체계를 강화하기 위해 사용한다. 보안 용어 인증 (Authentication) : 보호된 리소스에 접근 대상에 대해 이 유저가 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 확인하는 과정 인가 (Authorize) : 해당 리소스에 대해 접근 가능한 권한을 가지고 있는지 확인하는 과정 Security를 사용하기 위해서 build.gradle에서 의존성 추가하기 // security // https://mvnrepository.com/artifact/org.springframework.security/spring-secur..
JPA_테이블 생성 1. JPA 활용해서 테이블 설계 및 생성 (User, Board, Reply) User.java HTML 삽입 미리보기할 수 없는 소스 Board.java HTML 삽입 미리보기할 수 없는 소스 Reply.java HTML 삽입 미리보기할 수 없는 소스 2. JPA를 활용해서 테이블 컬럼에 제약 설정 및 외래키 지정하기 User.java HTML 삽입 미리보기할 수 없는 소스 Board.java HTML 삽입 미리보기할 수 없는 소스 Reply.java HTML 삽입 미리보기할 수 없는 소스 Board 테이블을 가지고 올 때 Reply에 대한 데이터도 필요하다면 mapped를 설정해줄 수 있다. HTML 삽입 미리보기할 수 없는 소스 → 연관 관계의 주인이란 ? FK 컬럼을 들고 있는 테이블의 주인이다..
JPA_JPA yml 파일 설정 의존성 추가 org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl yml 파일 server: port: 8080 servlet: context-path: / spring: mvc: view: prefix: /WEB-INF/view suffix: .jsp datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/green_blog?serverTimezone=Asia/Seoul username: ten password: 1q2w3e4r5t! jpa: open-in-view: true hibernate: ddl-auto: create namin..
Spring Boot_RestTemplate RestTemplate : RestTemplate은 Spring Framework에서 제공하는 HTTP 통신을 간편하게 처리할 수 있는 클래스이다. org.springframework.web.client.RestTemplate 패키지에 존재한다. RESTful 웹 서비스와의 통신을 위해 주로 사용되고 기본적으로 동기 방식으로 처리되며, 비동기 방식으로 처리하고 싶을 경우 AsyncRestTemplate을 사용하면 된다. RestTemplate은 요청과 응답에 대한 결과값을 가지고 있다. 클라이언트 요청 → Server1(나) 요청 → Server2(Resource Server) 클라이언트 응답 ← Server1(나) 응답 ← Server2(Resource Server) RestTemplate의 대표적인 ..
Spring Boot_Security 프로젝트 생성 및 Git 설정 Security : Security는 Spring 기반의 애플리케이션 보안 (인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있다. 인증(Authentication)과 인가(Authorization) 인증 (Authentication) : 해당 사용자가 본인이 맞는지를 확인하는 절차 인가 (Authorization) : 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차 JPA 및 Security 모듈 추가하여 프로젝트 생성하기 https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper/10.1.8 의존성 추가하기 tomcat embede..
Spring Boot_스프링 기본 파싱 전략 스프링 기본 파싱 전략 반드시 기억할 것은 HTML form 태그는 기본적으로 방식을 get, post만 지원한다. → 스프링부트 컨트롤러는 key = value 데이터를 자동으로 파싱해서 변수에 담아준다. form 태그 METHOD → get 처리 특장 : body로 데이터를 담아 보내지 않음. form에 대한 한계 GET, POST만 가능 REST FULL API 활용 못함. PUT, DELETE는 form 말고 ajax로 restfull 방식 변경해서 처리하기. temp.jsp HTML 삽입 미리보기할 수 없는 소스 UserControllerTest.java 스프링 부트 컨트롤러는 key=value 데이터를 자동으로 파싱해서 변수에 담아준다. HTML 삽입 미리보기할 수 없는 소스 ajax 통신 H..
JPA_더티체킹(dirty checking) 더티 체킹 : 더티 체킹(dirty checking)은 JPA에서 영속성(persistence) 컨텍스트가 관리하는 엔티티 객체의 변경 사항을 감지하는 매커니즘이다. 영속성 컨텍스트는 엔티티를 수정하면 엔티티의 상태를 자동으로 감지하고, 수정된 상태를 데이터베이스에 자동으로 반영한다. 이를 더티 체킹이라고 한다. 즉, 더티 체킹은 상태 변경 검사이다. JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터베이스에서 자동으로 반영해준다. (commit 처리) User.java HTML 삽입 미리보기할 수 없는 소스 DummyControllerTest.java eamil, password 수정 처리 로직 구현 1번 방식 : 기존 로직 처리 (save 처리) HTML 삽입 미리보기할 수 ..