@ComponentScan 사실 앞에서 런타임 시 자동으로 bean 을 찾아서 등록해 준다고 했지만 실제로는 @ComponentScan 어노테이션 기반으로 자동으로 등록이 된다 이 어노테이션은 범위 안에 있는 패키지들을 스캔해서 이들 중에서 bean으로 등록될만한 것들을 찾아서 bean 을 만들고 IoC 컨테이너에 넣는 역할을 하게 됩니다 즉 우리가 ...
Spring Ioc @Component
우리는 앞에서 xml 방식이 아닌 어노테이션 방식으로 설정 파일을 만들어 IoC 컨테이너에 Bean 을 주입하는 방식에 대해서 기술을 했습니다 이제는 IoC 컨테이너에 직접 넣지도 않고 기동 시 알아서 읽는 방법에 대해서 기술하겠습니다 ApplicationContext 는 없어도 된다 ApplicationContext applicationCont...
Spring Ioc @Bean
우리는 앞에서 xml 을 통한 bean 정의서를 만들고 그것을 IoC 컨테이너에 주입하는 방식으로 진행을 했다 이때 xml bean 정의서의 가장 큰 단점 중 한 가지는 바로 오타 또는 기타 오류 검증이 안된다는 단점이 있다 다시 앞의 bean.xml 파일을 보자 bean.xml <?xml version="1.0" encoding="UTF-8...
Spring Ioc DI
DI 란 DI는 Dependency Injection으로 IoC 가 추구하는 객체 주입 디자인 패턴 중의 한 가지입니다 그럼 소스를 한번 보면서 살펴보겠습니다 Student public class Student { private String name; private int age; public String getName() { re...
Spring Ioc
IoC 컨테이너 IoC inversion of control 제어의 반전 여기서 말하는 제어는 객체의 생성 주도권을 의미하는데 이전에 우리가 어떤 객체를 만들었는지 생각을 해보자 Student student = new Student(); 우리가 직접 main 메서드 안에 new라는 객체 생성 연산자를 이용해서 생성자를 호출하여 객체를 만들었다 ...
JAVA try - catch
예외 vs 에러 컴퓨터 공학 책에서는 이 둘을 이렇게 나눕니다 예외 - 프로그래밍 단계에서 예상할 수 있는 오류 소스코드의 비정상적인 오류로 발생하는 사건들 이때 소스코드의 적절한 조치로 애플리케이션이 정지되지 않고 계속해서 서비스를 이어갈 수 있음 에러 - 프로그래밍 단계에서 예상할 수 없는 오류 프로그램 문제가 아...
JAVA 제네릭 (Generics)
내가 예전에 한번 쓰다가 혼난 코드를 한번 보여주겠다 @GetMapping("") public ResponseEntity<?> resultData(){ return new ResponseEntity<>(null , HttpStatus.OK); } 팀장님이 혼낸 코드는 바로 제네릭 안에 물음표였다 팀장님이 나를 혼낸 이유는...
JAVA 람다함수와 지역변수
JAVA 화살표 함수를 사용할 때 마주치는 상황 예를 들어서 다음과 같은 상황이 있다 public class LambdaPractices { public static void main(String[] args) { List<Integer> originArray = Arrays.asList(1 , 2, 3...
JAVA Files_walkFileTree
Files.walkFileTree 실제로 사용할 때는 Files.walkFileTree로 사용하며 이는 JAVA NIO(Non-blocking I/O) 패키지에서 제공하는 파일 및 디렉터리 트리를 순회하면서 파일이나 디렉터리에 대한 작업을 수행할 수 있습니다 public class Practices01 { /* window 기준 */ priva...