일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- backend
- 트리의지름
- 실버1
- 골드5
- 완전탐색
- D4
- swea
- 1251
- 최단경로
- BFS
- 순열
- 백엔드
- SW역량평가
- 중복순열
- SW역량테스트
- 백준
- 코딩테스트
- dp
- Floyd
- Spring
- 그래프
- BOJ
- Framework
- 스프링
- 골드3
- 최단경로탐색
- java
- professional
- 최소신장트리
- 알고리즘
- Today
- Total
목록스프링 (3)
공부 기록장

스프링을 시작할 때, 가장 먼저 해 주어야 하는 것이 기본 설정을 세팅하고, 알맞은 곳에 필요한 것들을 주입시키는 것이다. 스프링 빈은 기본적으로 싱글톤으로 만들어진다. 따라서, 컨테이너가 제공하는 모든 빈의 인스턴스는 항상 동일하다. 만약, 컨테이너가 항상 새로운 인스턴스를 반환하게 하고 싶은 경우 scope를 prototype으로 설정해주어야 한다. 스프링 빈 설정은 주로 xml 문서 형태로 기술되어 있는데, 단순하고 사용하기 쉽기 때문이다. bean 태그를 이용해 pom.xml, root-context.xml, servlet-context.xml 에 필요한 설정들을 넣어준다. 빈을 사용할때 constructor-arg나 property 설정들도 들어있는데, constructor-arg 태그는 생성자..

이번 포스팅에서는 스프링에서 중요한 개념 중 하나인 loC과 DI에 대해 다뤄보려고 한다. 먼저 loC란, Inversion of Control, 즉 제어의 역행을 뜻한다. 조금 풀어서 얘기하자면, 기존에는 필요한 위치에서 개발자가 필요한 객체 생성 로직을 구현했다면, 객체 생성을 컨테이너에게 위임해서 처리하는 방식이다. 스프링에서는 인터페이스를 호출해서 사용하기 때문에 구현 클래스 교체가 용이하다. 컨트롤러에서 각 서비스를 이용할 때, 인터페이스 객체를 불러서 사용하므로 클래스 내용이 변경되어도 따로 변경해주어야 할 것이 없다. 또, factory를 호출해서 팩토리가 구현 클래스를 생성하므로 인터페이스 변경시 팩토리만 수정하면 된다. 따라서 service를 이용하는 쪽에서는 인터페이스만 알고 있으면 어..

오늘부터 여러개의 포스팅에 걸쳐 스프링을 정리해보려고 한다. 스프링은 왜 탄생했는가? 원래 스프링을 사용하기 전에는 EJB를 사용했다. EJB를 사용하면 상태관리, 멀티 쓰레딩, 리소스 풀링과 같은 것들을 WAS 단계에서 알아서 처리해주기 때문에 개발자가 따로 건드릴 필요가 없다는 장점이 있다. 하지만 EJB라는 서버가 따로 필요하고, 코드를 수정해서 재 배포하는 과정이 복잡해서 유지보수가 어렵다는 단점이 있었다. 게다가 웹사이트가 점점 커지면서 EBJ를 사용하지 않고도 쓸 수 있는 새로운 프레임워크가 필요했다. 그래서 POJO가 생겨났다. POJO는 특정 프레임워크나 기술에 의존적이지 않은 자바 객체인데, 특정 기술에 종속적이기 않기 때문에 생산성과 이식성이 높다. 또, AOP(Aspect Orient..