JAVA
-
@ControllerAdvice 에러 발생시 @ControllerAdvice 적용된 파일에서 처리하기 위해 작성하는 어노테이션 @ControllerAdvice(basePackages = ''test) 라고 작성할 경우 test 패키지 안에서 발생하는 에러일 경우 적용된 파일에서 처리한다는 뜻 @ControllerAdvice(basePackages='test') public class ExceptionAdvice{ /* var 생략하여 {BusinessException.class, OracleException.class} 작성 가능하며 {BusinessException.class} 한개만 작성도 가능하다. */ @ExceptionHandler(var={BusinessException.class, Oracl..
@ControllerAdvice@ControllerAdvice 에러 발생시 @ControllerAdvice 적용된 파일에서 처리하기 위해 작성하는 어노테이션 @ControllerAdvice(basePackages = ''test) 라고 작성할 경우 test 패키지 안에서 발생하는 에러일 경우 적용된 파일에서 처리한다는 뜻 @ControllerAdvice(basePackages='test') public class ExceptionAdvice{ /* var 생략하여 {BusinessException.class, OracleException.class} 작성 가능하며 {BusinessException.class} 한개만 작성도 가능하다. */ @ExceptionHandler(var={BusinessException.class, Oracl..
2023.05.12 -
Java에서는 크게는 2가지 예외(Error, Exception) 작게는 3가지 예외(Error, RuntimeException, OtherException)가 존재한다. 그리고 지금 이 예외에 대해 알아보려고 한다. Error 메모리 부족(OutOfMemoryError), ˚스택오버플로우(Stack Overflow) 처럼 가상 기계나 하드웨어 등 시스템의 문제로 발생하는 것을 의미한다. 즉, 개발자가 처리할 수 있는 영역이 아니기 때문에 Error가 발생하면 프로그램을 종료시키는 것이 보통이다. 스택오버플로우(Stack Overflow)란? Stack영역의 메모리가 지정된 범위를 넘어갈 때 발생하는 것으로 한 함수에서 너무 큰 지역 변수를 선언하거나 함수를 재귀적으로 무한정 호출하게 되면 발생할 수 있..
예외의 종류Java에서는 크게는 2가지 예외(Error, Exception) 작게는 3가지 예외(Error, RuntimeException, OtherException)가 존재한다. 그리고 지금 이 예외에 대해 알아보려고 한다. Error 메모리 부족(OutOfMemoryError), ˚스택오버플로우(Stack Overflow) 처럼 가상 기계나 하드웨어 등 시스템의 문제로 발생하는 것을 의미한다. 즉, 개발자가 처리할 수 있는 영역이 아니기 때문에 Error가 발생하면 프로그램을 종료시키는 것이 보통이다. 스택오버플로우(Stack Overflow)란? Stack영역의 메모리가 지정된 범위를 넘어갈 때 발생하는 것으로 한 함수에서 너무 큰 지역 변수를 선언하거나 함수를 재귀적으로 무한정 호출하게 되면 발생할 수 있..
2023.04.10 -
@RequestBody Json형식으로 데이터를 보내면 Java객체로 변환 시켜준다. @RequestBody를 사용하면 요청 본문의 JSON, XML, Text 등의 데이터가 적합한 HttpMessageConverter를 통해 파싱되어 Java 객체로 변환 되며 @RequestBody를 사용할 객체는 필드를 바인딩할 생성자나 setter 메서드가 필요없다. @RequestParam form 태그를 이용하여 데이터를 입력하고 제출 버튼을 누르면 입력한 데이터들이 url을 통해서 전달된다. @RequestParam 은 url 상에서 데이터를 찾기 때문에 태그를 이용하여 데이터를 입력하고 제출 버튼을 누르면 입력한 데이터들이 url을 통해서 전달된다. 예를 들면 'http://localhost:8080/rec..
@RequestBody, @RequestParam, @ModelAttribute@RequestBody Json형식으로 데이터를 보내면 Java객체로 변환 시켜준다. @RequestBody를 사용하면 요청 본문의 JSON, XML, Text 등의 데이터가 적합한 HttpMessageConverter를 통해 파싱되어 Java 객체로 변환 되며 @RequestBody를 사용할 객체는 필드를 바인딩할 생성자나 setter 메서드가 필요없다. @RequestParam form 태그를 이용하여 데이터를 입력하고 제출 버튼을 누르면 입력한 데이터들이 url을 통해서 전달된다. @RequestParam 은 url 상에서 데이터를 찾기 때문에 태그를 이용하여 데이터를 입력하고 제출 버튼을 누르면 입력한 데이터들이 url을 통해서 전달된다. 예를 들면 'http://localhost:8080/rec..
2023.02.07 -
extends (상속) 대표적인 상속의 형태로 부모의 메소드를 따로 구현하지 않아도 그대로 자유롭게 사용할 수 있으며 오버라이딩 할 필요가 없다. implements (상속) 부모의 클래스를 현재 자식의 클래스 내에서 한번 재정의(@Override) 해야하며 extends와 다르게 어떤 인터페이스를 채택하면 추상화 된 메서드나 프로퍼티를 반드시 구현해야 한다. 예시 interface Person { name: string; think(): void; walk(): void; eat(): void; } class Child implements Person { name: string = "Fomagran"; think(): void { console.log("생각하기"); } walk(): void { co..
extends, implementsextends (상속) 대표적인 상속의 형태로 부모의 메소드를 따로 구현하지 않아도 그대로 자유롭게 사용할 수 있으며 오버라이딩 할 필요가 없다. implements (상속) 부모의 클래스를 현재 자식의 클래스 내에서 한번 재정의(@Override) 해야하며 extends와 다르게 어떤 인터페이스를 채택하면 추상화 된 메서드나 프로퍼티를 반드시 구현해야 한다. 예시 interface Person { name: string; think(): void; walk(): void; eat(): void; } class Child implements Person { name: string = "Fomagran"; think(): void { console.log("생각하기"); } walk(): void { co..
2023.02.07 -
@Component 개발자가 직접 작성한 Class를 Bean으로 만드는 것으로 Bean객체의 이름은 '클래스 이름의 첫 문자를 소문자'로 바꾼 것이 Bean의 이름이 된다. 싱글톤 클래스 빈을 생성하는 어노테이션이며 물론, @Scope를 통해 싱글톤이 아닌 방식으로도 생성이 가능하다. 반대로 @Bean 어노테이션의 경우 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려할 때 사용된다. 사용방법 @Component public class FileUp{} // Bean Name = "fileUp" @Component("down") public class FileDown{} // Bean Name = "down" public class File{ @Autowired // 같은 타입의 빈을..
@Component@Component 개발자가 직접 작성한 Class를 Bean으로 만드는 것으로 Bean객체의 이름은 '클래스 이름의 첫 문자를 소문자'로 바꾼 것이 Bean의 이름이 된다. 싱글톤 클래스 빈을 생성하는 어노테이션이며 물론, @Scope를 통해 싱글톤이 아닌 방식으로도 생성이 가능하다. 반대로 @Bean 어노테이션의 경우 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려할 때 사용된다. 사용방법 @Component public class FileUp{} // Bean Name = "fileUp" @Component("down") public class FileDown{} // Bean Name = "down" public class File{ @Autowired // 같은 타입의 빈을..
2023.02.07 -
@Resource 어노테이션 Java에서 지원하는 어노테이션으로 프레임워크에 종속적이지 않아 많이 사용한다.(추천) Bean을 생성해주며 싱글톤 패턴이 자동으로 적용이 된다. name으로 DI를 가능케하며 name 속성의 이름을 기준으로 찾고 없다면 Type으로 Type이 없다면 @Qualifier 의 유무를 찾아 그 어노에이션이 붙은 속성에 의존성을 주입한다. 사용할 수 있는 위치 멤버변수, setter 메소드 강제 연결 방식 강제 연결을 하는 이유로는 같은 이름의 Bean이 있거나 특정 Bean을 사용하기 위해서 강제로 연결한다. @Resource(name="title") @Autowired 스프링 프레임워크에서 지원하는 어노테이션이며 프레임워크에 종속적이다 그렇기에 추천하지는 않는다. 그 이유로는 ..
@Resource, @Autowired, @Inject@Resource 어노테이션 Java에서 지원하는 어노테이션으로 프레임워크에 종속적이지 않아 많이 사용한다.(추천) Bean을 생성해주며 싱글톤 패턴이 자동으로 적용이 된다. name으로 DI를 가능케하며 name 속성의 이름을 기준으로 찾고 없다면 Type으로 Type이 없다면 @Qualifier 의 유무를 찾아 그 어노에이션이 붙은 속성에 의존성을 주입한다. 사용할 수 있는 위치 멤버변수, setter 메소드 강제 연결 방식 강제 연결을 하는 이유로는 같은 이름의 Bean이 있거나 특정 Bean을 사용하기 위해서 강제로 연결한다. @Resource(name="title") @Autowired 스프링 프레임워크에서 지원하는 어노테이션이며 프레임워크에 종속적이다 그렇기에 추천하지는 않는다. 그 이유로는 ..
2023.02.07 -
queryForObject DB로부터 1개의 레코드를 가져와 자바 객체에 저장한다. 오직 한 개의 레코드만 반환되는 여부를 검사하는 메소드 이므로 하나이상의 레코드가 반환되는 경우 예외처리됨. 그리고 값이없을경우는 null을 반환 queryForList DB로부터 1개이상의 레코드를 가져와 자바 객체의 List를 만드는데 사용한다
queryForObject, queryForListqueryForObject DB로부터 1개의 레코드를 가져와 자바 객체에 저장한다. 오직 한 개의 레코드만 반환되는 여부를 검사하는 메소드 이므로 하나이상의 레코드가 반환되는 경우 예외처리됨. 그리고 값이없을경우는 null을 반환 queryForList DB로부터 1개이상의 레코드를 가져와 자바 객체의 List를 만드는데 사용한다
2022.10.18 -
Map Map은 Key와 Value를 가진 데이터 집합으로 순서유지가 되지 않으며 중복을 허용하지 않는다. Map의 클래스로는 TreeMap, HashMap, HashTable 등이 있다. HashMap Map Interface를 Implements 한 클래스로서 중복을 허용하지 않으며 Map의 특징인 Key와 Value의 쌍으로 이루어져있고, Key 또는 Value 값으로서 null을 허용한다. TreeMap TreeMap 역시 중복을 허용하지 않으며, Key 와 Value 으로 이루어져있다. HashMap 과 다른 점은 SortedMap을 상속하였으며, Key 값들에 대한 정렬이 이루어진다는 점이다. HashTableMap Hashtable은 자바에서 Hashtable을 구현한 클래스 중 가장 오래되..
MapMap Map은 Key와 Value를 가진 데이터 집합으로 순서유지가 되지 않으며 중복을 허용하지 않는다. Map의 클래스로는 TreeMap, HashMap, HashTable 등이 있다. HashMap Map Interface를 Implements 한 클래스로서 중복을 허용하지 않으며 Map의 특징인 Key와 Value의 쌍으로 이루어져있고, Key 또는 Value 값으로서 null을 허용한다. TreeMap TreeMap 역시 중복을 허용하지 않으며, Key 와 Value 으로 이루어져있다. HashMap 과 다른 점은 SortedMap을 상속하였으며, Key 값들에 대한 정렬이 이루어진다는 점이다. HashTableMap Hashtable은 자바에서 Hashtable을 구현한 클래스 중 가장 오래되..
2022.10.18