[Spring] Entity 관계
·
개발 ━━━━━/Spring
1 대 1 관계 단방향 관계 Entity에서 외래 키의 주인은 일반적으로 N(다)의 관계인 Entity 이지만 1 대 1 관계에서는 외래 키의 주인을 직접 지정. 외래 키 주인만이 외래 키를 등록, 수정, 삭제할 수 있으며, 주인이 아닌 쪽은 오직 외래 키를 읽기만 가능 // 음식 Entity @Entity @Table(name = "food") public class Food { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private double price; @OneToOne @JoinColumn(name = "user_id") private User user; } // 고객 ..
[Spring] Filter
·
개발 ━━━━━/Spring
Filter Spring Security - Filter Chain 기반에서 동작 UsernamePasswordAuthenticationFilter는 Spring Security의 필터인 AbstractAuthenticationProcessingFilter를 상속한 Filter입니다. 기본적으로 Form Login 기반을 사용할 때 username 과 password 확인하여 인증합니다. 인증 과정 사용자가 username과 password를 제출하면 UsernamePasswordAuthenticationFilter는 인증된 사용자의 정보가 담기는 인증 객체인 Authentication의 종류 중 하나인 UsernamePasswordAuthenticationToken을 만들어 AuthenticationM..
[Spring] 인증 방식 (쿠키-세션, JWT)
·
개발 ━━━━━/Spring
Bean Bean 이 적용된 Class 가 여러 개일 경우 @Autowired Food food; 하면 에러 발생 Food chicken; Food pizza; 1. 객체를 따로 선언해준다. 2. @Primary 어노테이션을 붙여준다. (범용적으로 사용되는 객체) 3. @Qualifier("pizza") 를 해당 클래스, Food 객체 선언할 때 붙여준다. (Primary 보다 우선순위가 높음, 지역적으로 사용되는 객체) 인증 (Authentication) 과 인가 (Authorization) 인증 vs 인가 인증 - 해당 유저가 실제 유저인지 인증하는 개념 인가 - 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념 인증 방식 쿠키-세션 방식 서버가 '특정 유저가 로그인되었다'는 상태를 저..
[Java] 배열 값 출력하기
·
개발 ━━━━━/Java
for 문을 이용한 출력 class printArr { public static void main(String[] args){ int[] arr = {1, 2, 3, 4, 5}; for(int i = 0; i
[Java] 문자열 배열에 String 집어 넣기
·
개발 ━━━━━/Java
한 글자씩 배열에 저장 String str = "hello"; String[] arr = str.split(""); // 결과 // arr[0] = "h" // arr[1] = "e" // arr[2] = "l" // arr[3] = "l" // arr[4] = "o"
[Java] String <-> Int 형변환
·
개발 ━━━━━/Java
String -> int Integer.parseInt() public class stringToInt { public static void main(String[] args) { String str = "123"; int intValue = Integer.parseInt(str); } } Integer.valueOf() public class stringToInt { public static void main(String[] args) { String str = "123"; int intValue = Integer.valueOf(str); } } Integer.parseInt() vs Integer.valueOf() parseInt() 의 반환값 : 기본 자료형 int 리턴 valueOf() 의 반환값..
[Java/Algorithm] List 오름차순
·
개발 ━━━━━/Java
// 주어진 arr 에 요소들을 주어진 정수 n 번째 글자를 기준으로 오름차순 정렬 // n 번째 글자가 같을 경우 사전순으로 정렬한다. import java.util.*; public class Main { public String[] solution(String[] arr, int n) { // 중복이 되었는지 안되었는지 판별하기 위한 플래그 int flag = 0; // 기준 요소와 같으면 "" 빈 문자열로 초기화, 중복이 발견되었으니 flag = 1 for(int i=0; i
[Java] 객체 지향 - 상속, 오버라이딩
·
개발 ━━━━━/Java
상속 (Inheritance) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 class Parent { ... } class Child extends Parent { ... } Parent : 조상 클래스 (부모 parent, 상위 super, 기반 base 클래스) Child : 자손 클래스 (자식 child, 하위 sub, 파생된 derived 클래스) - 생성자와 초기화 블럭은 상속되지 않고 멤버만 상속된다. - 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 포함관계 (Composite) 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것 class Circle{ Point c = new Point(); // int x; // int y; int r; } cl..