Java 58

spring aop란?

스프링 AOP란  (Aspect-Oriented Programming)으로 애플리케이션의 관심사 분리(Separation)을 지원하는 프로그래밍이다  주로 횡단 관심사(Cross-Cutting Concerns)을 처리하는 데 사용이 된다.  *횡단 관심사란 애플리케이션의 다양한 메서드에서 발생하는 이벤트나 오류를 기록하는 기능이다  로깅 : 애플리케이션의 다양한 메서드에서 발생하는 이벤트나 오류를 기록하는 기능을 한다.  보안 : 사용자의 인증 및 권한 검을 처리하는 기능이다  트랜잭션 관리: 데이터베이스 트랜잭션을 관리하는 기능이다.트랜잭션 시작, 커밋, 롤백 등을 모든 서비스에서 관리하려면 중복 코드가 발생할 수 있다.  성능 모니터링 애플리케이션의 성능을 추적하고 측정하는 기능이다 여러 메서드나 서..

Java 2024.10.18

Servlet Filter

Servlet Filter : 웹 애플리케이션에서 요청과 응답을 처리하는 중간 계층으로써 서블릿과 클라이언트 사이에 위치한다 필터는 웹 애플리케이션의 요청을 가로채어 특정 작업을 한다.  서블릿 필터의 주요 기능  요청 전처리 : 클라이언트[사용자]로 부터 요청을 가로채어 로그를 남기거나, 요청 데이터를 수정할 수 있다. 응답 후 처리 서블릿이 응답을 반환한 후, 응답 내용을 수정하거나 추가적인정보를 포함할 수 있다.  여러 서블릿에서 공통적으로 필요한 작업을 모듈화하여 관리할 수 있따  필터 클래스는javax.servlet.Filter 인터페이스를 구현해야 하며, doFilter 메서드를 오버라이드하여 실제 로직을 작성한다.   init method :필터 객체를 초기화하며 구현할 서비스에 추가를 위한..

Java 2024.10.16

spring interceptor

Interceptor : 요청 url에 해당하는 controller가 실행되기 전 혹은 후에 처리할 내용을 작성한다  로그인 유/무를 판단, 회원의 권한 체크 등을 처리한다.  preHandle :  DispatcherServlet이 Controller를 호출하기 전 처리하는 영역이다 - 즉 전처리를 한다  * DispatcherServlet : 클라이언트의 요청을 받아서, 등록된 핸들러 매핑에 따라 적절한 컨트롤로로 요청을 전달한다 어플리케이션 컨텍스트: DispatcherServlet은 Spring의 어플리케이션 컨텍스트를 생성하여, 다양한 빈을 관리합니다. 이를 통해 의존성 주입 및 여러 설정을 쉽게 처리할 수 있습니다. 인터셉터 및 필터 적용: 요청 처리 전후에 인터셉터를 적용하거나, 필터를 사용..

Java 2024.10.15

Java collections (ArrayList, HashSet) + HashMap

자바 컬렉션으로는 크게 자주 사용하는 예로 3가지가 있다  첫 번째는 ArrayList  순서가 있고 중복이 허용이 된다는 특징을 가지고 있다 그리고 데이터 조회가 간편하다는 장점을 가지고 있다 ArrayList list = new ArrayList(2); ArrayList는 매개변수타입을 쓰는 것이 일반적이지만 위에 코드처럼 제네릭 선언을 안하는 경우가 있다 제네릭을 선언을 안하게 된다면 해당 ArrayList는 Object 타입이 된다. list2.add(new Music("하입보이", "뉴진스")); list2.add(new Music("Believer", "Imagine Dragons")); list2.add("끝"); 위 처럼 Music 객체 타입도 선언이 가능하고 밑에 처럼 String 타입..

Java 2024.07.15

자바 헷갈리는 내용 정리

메서드 오버로딩 : 자바에서 메서드 오버로딩은 동일한 클래스 내에서동일한 이름의 메서드를 여러 개 정의하되 매개변수 목록(정보)이 다르도록 하는 것을 의미한다  컴파일 오류가 나는 경우는 동일한 시그니처(매개 변수 목록이 동일)로 정의된 메서드들이다 반환 타입만 다르다소 오버로딩이 되는 것은 아니기 때문에 매개변수 목록이 동일한 메서드가 여러 개 있으면 컴파일 오류가 발생한다.  컴파일 오류가 발생하는 경우 메소드 오버로딩 중 매개 변수 정보가 동일한 경우 동일한 메소드에 컴파일 오류가 발생한다 기준이 되는 메소드도 포함  continue : 특정 조건에서 반복문을 다음 루프로 실행 시키고자 할 때 : continue 나는 객체를 생성할 때 new 를 자주 잊는다.new를 주의하자  다형성 : 부모(상위..

Java 2024.07.15

내가 잘 모르는 부분들 내용정리 JAVA

체크드 예외 (Checked Exceptions)컴파일 시점에서 반드시 처리되어야하는 예외  IOException : 입출력 작업  중 발생하는 예외 EOFExeption : 주로 입력 스트림에서 예상치 못한 파일의 끝에 도달했을 떄 발생하는 예외 SQLException : 데이터베이스 작업 중 발생하는 예외 ClassNotFoundException: 클래스를 찾을 수 없을 때 발생하는 예외FileNotFoundException: 파일을 찾을 수 없을 때 발생하는 예외.InterruptedException: 스레드가 대기, 수면, 또는 다른 작업에서 인터럽트 되었을 때 발생하는 예외. 언체크드 예외 (Unchecked Exceptions)NullPointerException: 객체가 null인데 메서드나..

Java 2024.07.15

자바 예외처리 ~ IO 입출력 내용 정리

체크드 예외 (Checked Exceptions)컴파일 시점에서 반드시 처리되어야하는 예외  IOException : 입출력 작업  중 발생하는 예외 EOFExeption : 주로 입력 스트림에서 예상치 못한 파일의 끝에 도달했을 떄 발생하는 예외 SQLException : 데이터베이스 작업 중 발생하는 예외 ClassNotFoundException: 클래스를 찾을 수 없을 때 발생하는 예외FileNotFoundException: 파일을 찾을 수 없을 때 발생하는 예외.InterruptedException: 스레드가 대기, 수면, 또는 다른 작업에서 인터럽트 되었을 때 발생하는 예외. 언체크드 예외 (Unchecked Exceptions)NullPointerException: 객체가 null인데 메서드나..

Java 2024.07.14

자바 복습 _2 상속, 다형성

상속 : 다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고 상속을 받음으로써 클래스 자신의 멤버처럼 사용할 수 있는 기능  상속 목적  : 1. 클래스의 재사용2.연관된 일련의 클래스들에 대한 공통적인 규약 정의  상속의 장점 : 1. 보다 적은 양의 코드로 새로운 클래스 작성이 가능하다 2. 코드를 공통적으로 관리하기 때문에 코드의 추가 및 변경이 용이하다 3. 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다   상속의 특징 :  모든 클래스는 Object클래스의 후손이다 Object클래스가 제공하는 메소드를 오버라이딩하여 메소드 재구현 가능  부모클래스의 생성자, 초기화 블록은 상속이 안된다자식 클래스 생성 시, 부모 클래스 생성자가 먼저..

Java 2024.07.13

자바 Map

Map 특징  key - value 형식으로 데이터를 저장(관리) key에 해당하는 데이터 : 중복을 허용하지 않는다 (set 방식) value에 해당하는 데이터 : 중복이 허용된다 (단. 키 값이 중복되지 않은 경우)+ List 방식   // Map 메소드// [1] 데이터 추가 : put(키에 해당하는 값, 밸류에 해당하는 값)// [2] 데이터 삭제 : remove(키에 해당하는 값)// [3] 데이터 조회 : get(키에 해당하는 값) - keySet (키 목록 조회)// [4] keySet (키 목록 조회)// [5] 데이터 길이 조회 : size()  Key 목록 조회 : keySet() Set keyList = hashMap.keySet(); Set 참조변수 = Map_참조변수.keySet..

Java 2024.07.12

자바 복습하기 _ 1

자바 언어 특징  운영체제에 독립적이다(이식성이 높음) 자동 메모리 관리 (Garbage Collection) 객체 지향 언어  사용하기 쉬운 언어 - 능률적이고 명확한 코드 작성 가능 - 다른 언어의 단점 보완 (포인터, 메모리 관리) JVM : 자바를 실행하기 위한 가상 기계로 플랫폼에 의존적   자바 컴파일러 :(javac.exe)- 소스 파일을 JVM이 실행할 수 있도록 클래스 파일로 변환(컴파일)  자바 런처(java.exe) : - 자바 프로그램과 자바 가상머신을 처음 구동하는 소프트웨어- 클래스 파일을 대상으로 구동을 시작한다   JRE : JVM (자바 가상 머신), Java Class Library 등컴파일된 자바 프로그램을 실행하는 데 필요한 패키지 (자바 프로그램 실행만 할 경우)  ..

Java 2024.07.11