Spring

정영하·2023년 4월 17일
0

아파치 톰캣

  • 웹 어플리케이션 서버
  • 동적 파일 (JSP, Servlet 등)

Servlet

  • 자바 데이터를 HTML 문자열로 감싼다.
String username = "홍길동";
String str = "<div>" + userName + "</div>";

JSP

  • HTML 사이에 자바 데이터를 넣는다
<div class = "todo-footer>
	<string>
    	<span class="count-todos"><c:out vlaue = "${todoSize}" /></span>
    </strong>
    항목 남았음
</div>

직렬화

  • 객체를 데이터 스트림으로 만드는 것
  • 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환하는 것

역직렬화

  • 스트림을 객체로 만드는 것

직렬화와 역직렬화를 하는 이유

  • 다른 기종 간의 데이터 송수신
    - java 객체 -> python객체
    (호환이 되지 않아서 에러 발생)
    • java 객체 -> 직렬화 -> json -> 역직렬화 -> python 객체

라이브러리와 프레임워크

프레임워크를 쓰는 이유

  • 협업 : 구조가 같으니 협업이 쉬움
  • 안전성 : 확인해야할 사항들을 프레임워크가 체크함
  • 보안 : 웹 관련 공격을 막을 방법을 미리 세팅해 놓음
  • 신입 : 가이드가 없으면 신입은 코드를 짜기가 어려움

Spring Bean

  • Spring IoC 컨테이너가 관리하는 자바 객체
  • 생성 방법만 명시하면 스프링이 알아서 객체를 생성하고 유지하고 소멸시킨다.

@Bean
@Component
어노테이션을 붙이면 Spring IoC 컨테이너가 자동으로 해당 객체ㅔ를 생성한다. 해당 객체를 필요로 하는 다른 객체에 주입 시켜준다 DI

단 한번도 new(생성자)를 써서 객체를 만들지 않았다 = 제어의 역전(IoC- 프레임워크가 컨트롤)

여러번 생성할 필요가 없는 개체는 스프링이 싱글톤처럼 관리한다.

DI

  • 스프링 IOC 컨테이너가 관리
  • ComponentScan으로 Bean/Component를 찾아서 객체를 생성
  • 생성한 객체를 필요한 곳에 알아서 넣어준다

0개의 댓글