일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- 코테공부
- 코테준비
- K8S
- nestjs
- JPA
- 스프링부트
- 스프링공부
- 카프카
- 스프링 공부
- 자료구조공부
- JPA 공부
- 플러터 공부
- 플러터 개발
- JPA공부
- Kafka
- DDD
- JPA스터디
- 스프링
- querydsl
- 기술면접공부
- 기술공부
- JPA예제
- nestjs공부
- 자바공부
- 스프링부트공부
- Axon framework
- nestjs스터디
- 알고리즘공부
- Flutter
- Today
- Total
목록Develop (320)
DevBoi
DI : 의존관계 주입이라는 의미로, IOC의 차별화된 특징 중 하나이다. DL : 의존관계 검색은 의존관계가 있는 객체를 외부에서 주입받는 것이 아닌 의존 관계가 필요한 객체에서 직접 탐색 하는 것을 의미한다. 즉 의존성 검색이며, 빈에 접근하기 위해 컨테이너가 제공하는 api를 이용하여, 빈을 lookup 하는 것이다.
1. xml Bean 태그 이용 , Xml 컴포넌트 스캔(ComponentScan은 자바로도 가능) 3.Config 파일을 통한 Bean등록 4.Config의 ComponentScan을 활용한 Bean등록
컨테이너란? 인스턴스의 생성, 생명주기, 사용관계를 관리하며, 생성된 빈에게 추가적인 기능을 제공한다. 1. 서블릿 컨테이너(ex.Tomcat) 웹서버와 통시하기 위해, 소켓을 생성하고 특정 포트에 리스닝하고 스트림을 생성하는 복잡한 일을 하지 않게 해준다. Servlet의 생성부터 소멸까지 사이클을 관리해준다. 2.스프링 컨테이너 (IOC컨테이너) 1. Bean Factory 스프링 설정파일에 등록된 빈의 생성하고 관리하는 기본적인 기능만한다. 컨테이너가 구동될때 빈을 생성하는 것이 아니라, 클라이언트 요청에 의해 빈이 사용되는 시점에 (Lazy loading) 빈이 생성된다. 일반적으로 사용을 잘 하지 않고, ApplicationContext는 이 빈 팩토리를 상속 받고있다 2.ApplicationC..
MVC1은, JSP에서 view와 controller의 로직을 모두 담당한다. 즉 JSP에서 컨트롤러의 역핟도 하고 view의 역할도 한다. 중소형 프로젝트에 적합하고, 유지보수성이 많이 떨어진다. 코드 재사용성이 줄고, 운영을 해갈수록 점점 더 복잡해져서, 관리가 힘들다 MVC2는 컨트롤러가 서블릿으로 구현되어, 뷰와 컨트롤러가 나눠진 것이다. 가장많이 보이는 설계이고 뷰와 컨트롤러가 나눠져 있어서, 유지보수가 뛰어나고 추후에, 수정이 필요한 부분만 수정하면 되기 때문에 변경 및 관리에도 편하다
1. 웹 어플리케이션이 시작되면 web.xml이 로딩된다. 2. web.xml 에 등록되어있는 ContextLoaderListener가 생성 3.ContextLoadListener는 ServletContextListener를 구현, ApplicationContext를 생성한다. (ApplicationContext는 Ioc 엔진이며, 빈의 생명주기를 담당한다.) 3.ContextLoadLinstener가 ApplicationContext를 생성하면서, root-context를 로딩 ContextLoaderListener : 서블릿을 초기화하는 용도로 사용된다. 4.root-context에 등록되어있는 설정에 따라 Spring container가 구동 5.클라이언트로부터 Web Application에 요청 ..
1) Embed Tomcat을 사용 내장형 톰캣을 사용하기 때문에, 따로 Tomcat을 설치하거나 매번 버전관리를 하지 않아도 된다. 2) starter를 통한 dependency 자동화(의존 라이브러리 버전 관리) Spring Framework에서는 각각의 dependency 들의 호환되는 버전을 일일히 맞추어야 했다. 또한 각 dependency들의 버전을 일일히 맞춰야해서 힘이 들었다. 하지만 이제 starter가 대부분의 dependency를 관리해주기 때문에, 이러한 걱정이 없어졌다. 3) XML 설정을 하지 않고, 자바로 설정이 가능하다. 4) jar file을 이용해 자바 옵션만으로 쉽게 배포가 가능하다 +Spring Actuaor를 이용한 애플리케이션의 모니터링과 관리를 제공한다. 5) A..
1. 웹 애플리케이션이 실행되면 Tomcat에 의해 web.xml이 loading 된다. 2. web.xml에 등록되어있는 ContextLoaderListener가 생성이 된다. (ServletContextListener 구현) ,ApplicationContext를 생성하는 역할을 수행한다. 3. 생성된 ContextLoaderListener는 root-context.xml 을 로딩한다. 4. root-context.xml에 등록되어있는 Spring Container가 구동된다. 이 때 개발자가 작성한 비즈니스 로직에 대한 부분과 DAO, VO 객체들이 생성된다. 5. 클라이언트에게서 웹 애플리케이션 요청이 온다.(web.xml에 등록한 url 패턴과 맞다면) 6. DispatcherServlet이 생성..
스프링 프레임워크란? - 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크이다. - 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. - 자바 개발을 위한 프레임워크로 종속 개체를 생성 조립해준다. 스프링 특징 - 경량 컨테이너로서 자바 객체를 직접 관리 * 각각의 개체 생성, 소멸 과 같은 라이프사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. - 스프링은 POJO방식의 프레임워크 * 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속받을 필요가 없어, 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다. - 스프링은 제어의 역행을 지원 * 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어 필요에 따라 스..
JPA에서 해당 PAGE 기능을 개발하려고하면, 해당 과 같이 사용하면 된다. 좀 더 자세히 공부를 해보도록 하자
낙관적 락 일단, 트랜잭션 충돌이 발생하지 않는다고 가정한다. DB가 제공하는 락을 사용하지 않고, JPA가 제공하는 Version 관리을 사용한다 트랜잭션을 커밋하기 전까지 충돌을 알수 없다. 낙관적락 이렇게 메소드에서 사용할 수 있다. 해당으로 사용하게 되면, 트랜잭션이 커밋될때, version을 업데이트하게 된다. @Version으로 명시된 컬럼이 증가하게되고, 해당 증가후에 트랜잭션이종료하게 된다. 만약에 다른 트랜잭션에서 어떤값을 수정하려고할때, 해당 버전에 대한 값을 확인후에, 버전이 같으면, 수정 다르면 예외를 발생시킨다. LockModeType 중에 OPTIMISTIC_FORCE_INCREMENT가 있다. 해당 방식일때는 조회만으로 version이 update된다. update 도 vers..