🌎 Web/Spring

🌎 Web/Spring

    [Spring] IoC(제어의 역전)와 DI(의존성 주입) 그리고 Spring

    IoC와 DI 그리고 Spring 그동안 Spring을 사용하면서 너무도 당연하게 생각했던 개념들에 대해 다시 짚어보려 한다. IoC가 뭔지? DI는 또 뭔지? Spring은 무슨 관련이 있는 거고, 어떤 점이 좋아서 Spring을 사용하는지? 궁금증을 파헤쳐보자! IoC(Inversion of Control) : 제어의 역전 IoC(Inversion of Control)란? 코드 흐름이 제3자에게 위임되는 것 잘 와닿지 않을 수 있으니, 예제를 통해 살펴보자. public class A { private B b; public A() { b = new B(); } } A 클래스에서 B 필드를 가지고 있고, 생성자 내부에서 직접 생성해 필드를 초기화하고 있다. 즉, 객체 생명주기나 메서드의 호출을 개발자가..

    [Spring] 스프링 웹 개발의 3가지 방법

    스프링 웹 개발의 3가지 방법 정적 컨텐츠 : like WELCOME pages MVC와 템플릿 엔진 : jsp, php → HTML을 서버에서 프로그래밍해서 동적으로 내려줌 API : json이라는 데이터 포맷으로 클라이언트한테 데이터 전달 정적 컨텐츠 resources/static/hello-static.html 인텔리제이 파일 생성 단축키 Ctrl + Alt + Insert 정적 컨텐츠 입니다. 실행해보자 run을 돌리고 http://localhost:8080/hello-static.html로 접속하여 확인 정적 컨텐츠는 어떻게 동작하는 걸까? 웹 브라우저에 localhost:8080/hello-static.html을 입력 내장 톰캣 서버가 요청을 받아서 스프링한테 전달 스프링은 먼저 컨트롤러에 있..

    [Spring] 스프링 프로젝트 환경설정

    스프링(Spring) 공부는 이렇게 해야 한다 스프링 프로젝트 생성 스프링 부트로 웹 서버 실행 회원 도메인 개발 웹 MVC 개발 DB 연동- JDBC, JPA, 스프링 데이터 JPA 테스트 케이스 작성 프로젝트 생성 윈도우(Windows)에서 인텔리제이(IntelliJ) 설치 JetBrains 계열의 IntelliJ는 이곳에서 무료인 Community 버전으로 설치한다. Spring에 체크가 되어 있지 않지만, Spring 라이브러리가 장착되어 있지 않다는 의미일 뿐 개발하는 데에는 문제없다. 스프링 이니셜라이즈(spring initializr)로 프로젝트 생성 스프링 부트 기반으로 프로젝트를 만들어주는 사이트(https://start.spring.io/) maven? gradle이란? 필요한 라이브러..