IT/Java

· IT/Java
Spring Security 권한 부여 Annotation 종류1. @PreAuthorize// 현재 사용자가 'ROLE_ADMIN' 역할을 가지고 있는지 확인@PreAuthorize("hasRole('ROLE_ADMIN')")메소드 호출 전에 보안 검사를 수행할 때 사용메소드가 실행되기 전 지정된 SpEL(Spring Expression Language)을 사용하여 권한 평가 2. @Secured// 현재 사용자가 'ROLE_ADMIN' 역할을 가지고 있는지 확인@Secured("ROLE_ADMIN")메소드에 대한 보안 설정을 지원메소드에 특정 역할 부여 가능@EnableGlobalMethodSecurity(securedEnabled = true)💡 @Secured 사용시 반드시 메소드 보안 활성화 ..
· IT/Java
execute() 모든 유형의 SQL 문과 함께 사용 가능하며, Boolean 타입의 값 반환 반환 값이 true이면 getReaultSet 메소드를 사용하여 결과 집합 얻음 executeQuery() SELECT 문을 실행할 때 사용 쿼리를 실행하고 결과를 ResultSet 객체로 반환 next() 메소드를 이용하여 선택되는 행 변경 가능하며, 다음 행이 없으면 false 반환 executeUpdate() INSERT, UPDATE, DELETE와 같은 DML(Data Manipulation Language)에서 실행 결과로 영향을 받은 row 수 반환 쿼리를 실행하고, row 수를 반환하기 때문에 결과를 int 로 반환 CREATE, DROP 문에서는 -1 반환
· IT/Java
@AllArgsConstructor 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성 클래스의 모든 필드를 한 번에 초기화 적용 전 public class Test{ private String name; public Test(String name) { this.name = name; } } 적용 후 import lombok.*; @AllArgsConstructor public class Test{ private String name; } @RequiredArgsConstructor final 또는 @NotNull 선언된 필드만을 파라미터로 받는 생성자를 자동으로 생성 클래스가 의존하는 필드를 초기화 final 필드는 클래스에서 초기화를 하거나 객체 생성 시 생성자를 이용해 꼭 초기화를 해야한다. 적..
· IT/Java
Statement, PreparedStatement 둘 다 SQL문을 실행하고 생성된 결과를 반환하는 객체로 사용되며, 사용자의 입력 값에 따라 쿼리문이 변경될 경우 주로 PreparedStatement 객체를 사용한다. Statement 객체는 SQL문을 실행할 때 매번 구문을 새로 작성하고 해석하여 오버헤드가 존재하지만 PreparedStatement 객체는 SQL 문을 처음에만 분석 후 캐시에 저장하기 때문에 재사용이 용이하다. PreparedStatement 객체는 직접 쿼리를 작성하지 않고 파라미터 바인딩을 사용하여 SQL Injection에도 안전하다.
· IT/Java
Wrapper Class에 대한 자세한 설명 [Java] 포장 클래스(Wrapper Class) 포장 클래스(Wrapper Class) 기본 타입의 데이터를 먼저 객체로 변환 후 작업을 수행해야 하는 상황이 생겼을 때 기본 타입에 해당하는 데이터를 객체로 포장해주는 클래스다. 포장 클래스는 각각의 cloud-cuckoo-land.tistory.com 기본 데이터 타입이 있는데 왜 포장 클래스를 사용할까? 1. 객체 지향 프로그래밍과의 호환성 Java는 객체 지향 프로그래밍 언어라 객체를 사용하는 것이 중요하다. 하지만 기본 데이터 타입은 객체가 아니라 원시적인 형태이기 때문에 객체 지향 프로그래밍의 특성과 호환되지 않아 기본 데이터 타입 사용시 객체로 감싸고 사용하는 것이 좋다. 2. 컬렉션 프레임워크와..
· IT/Java
Forwarding 네트워크에서의 데이터를 한 곳에서 다른 곳으로 전송하는 과정, 즉 데이터 전송을 의미 데이터를 중간에 다른 장비나 서버를 통해 전달하는 것 🧐 A컴퓨터에서 B컴퓨터로 데이터를 직접적으로 전송하지 않고 다른 네트워크 장비를 통해 전송되는데 이 과정을 포워딩이라고 한다. Forward 웹 애플리케이션에서의 요청 전달 과정을 의미 Servlet이나 JSP 등에서 클라이언트의 요청을 다른 리소스로 전달하는 과정을 의미 Forwarding의 구체적인 동작을 나타내는 용어 🧐 웹 애플리케이션에서의 요청 전달 과정 💡 Forwarding은 클라이언트의 요청을 다른 리소스로 전달하는 것이고, Forward는 이 과정을 구체적으로 수행하는 메소드이다.
· IT/Java
시간 측정 도구 간단 정리 TIL/Java/시간_측정_도구.md at main · huitopia/TIL 📝 Today I Learned. Contribute to huitopia/TIL development by creating an account on GitHub. github.com System.currentTimeMillis() & System.nanoTime() 활용 public class CodeRunTime { public static void main(String[] args) { long millsStart = System.currentTimeMillis(); long nanoStart = System.nanoTime(); for (int i = 0; i < 1000000; i++) { ..
· IT/Java
Set Collection List Collection은 저장 순서를 유지하지만, Set Collection은 요소의 저장 순서를 유지하지 않는다. 저장할 때와 값을 찾을 때 순서가 다를 수 있다. 같은 요소의 중복 저장이 불가능하며, 하나의 null만 저장 가능하다. 인덱스로 관리하지 않기 때문에 인덱스를 매개값으로 갖는 메소드는 없다. Set Method Set (Java SE 21 & JDK 21) Type Parameters: E - the type of elements maintained by this set All Superinterfaces: Collection , Iterable All Known Subinterfaces: EventSet, NavigableSet , SequencedSet..
· IT/Java
리스트 컬렉션(List collection) 객체를 일렬로 늘어놓은 구조로 이루어져있다. 객체를 인덱스로 관리하여 객체 저장시 인덱스가 부여된다. 인덱스는 객체를 검색, 삭제할 때 사용한다. 객체 자체를 저장하는 것이 아닌 객체의 번지를 참조한다. null 저장 가능하다. List Collection Interface에는 객체 추가, 검색, 삭제 기능의 메소드가 선언되어 있다. 인덱스로 객체를 관리하여 인덱스를 매개값으로 갖는 메소드들이 많다. ArrayList와 LinkedList의 차이는 사용 방법이 아닌, 내부적 요소를 저장하는 방법이다. 1. Array List // E에 지정된 타입의 객체만 저장 List list = new ArrayList(); // E에 지정된 타입의 객체만 저장 List ..
· IT/Java
Collection Framework 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 데이터를 저장하는 자료 구조(Data Structure)와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. collection framework는 자바의 인터페이스(interface)를 사용하여 구현된다. 주요 Collection List Collection Set Collection Map Collection 상속 관계 List와 Set은 객체를 추가, 삭제, 검색하는 방법에 있어 공통점이 있기때문에 공통된 메소드를 모아 Collection interface로 정의하고 상속받지만, Map은 키와 값을 하나로 묶어 관리하는 구조로 되어 있어 별도로..
Huitopia
'IT/Java' 카테고리의 글 목록