Spring26 DI, IoC, root-context.xml 의존성 주입(DI) 의존성(Dependency)이란, 하나의 객체가 다른 객체 없이는 제대로 된 역할을 수행할 수 없다는 것을 의미합니다. 예를 들면, 레스토랑에 서빙은 없어도 되지만 쉐프는 없으면 안됩니다. 바로 이런 개념입니다. 주입(Injection)이란, 외부에서 밀어넣는 것(주입)을 의미합니다. 예를 들면, 레스토랑의 식재료를 구하기 위해서는 본인이 직접 수산시장에 가서 구할 수도 있고, 프렌차이즈라면 본사에서 대신 준비를 해줄 수도 있습니다. 즉, 능동적인지 수동적인지입니다. 다시 말해 의존성 주입(DI)이란 외부에서 필요한 객체를 밀어 넣는다를 의미합니다. 이것의 장점은 내가 직접 준비하지 않아도 외부에서 준비해주니까 편리하다는 장점이 있습니다. IoC(Inversion of Control).. 2021. 5. 31. 웹 프로젝트 폴더 구조 웹 프로젝트 폴더 구조 src 자바 소스 파일을 두는 폴더입니다. build / classes 컴파일된 자바 클래스 파일(.class)이 놓이는 폴더입니다. WebContent HTML, CSS, JavaScript, JSP, 이미지 파일 등 웹 콘텐츠를 두는 폴더입니다. 웹 애플리케이션을 서버에 배치할 때 이 폴더의 내용물이 그대로 복사됩니다. WebContent / WEB-INF 웹 애플리케이션의 설정과 관련된 파일을 두는 폴더입니다. 이 폴더에 있는 파일은 클라이언트에서 요청할 수 없습니다. 따라서 HTML, CSS, JavaScript 등 클라이언트에서 요청할 수 있는 파일을 이 폴더에 두어서는 안됩니다. WebContent / WEB-INF / web.xml 웹 애플리케이션 배치 설명서(Depl.. 2021. 5. 21. MVC 아키텍처 MVC 아키텍처 올인원 All-in-one 방식과 문제점 서블릿으로 클라이언트의 요청을 처리하고, 모든 것을 서블릿이 담당했습니다. 이것이 올인원 방식입니다. 처음 사업할 때 한 사람이 개발과 관리를 모두다 한다면 어떤 요구사항이 들어와도 의사결정이 빠를 것이고, 유지 비용도 적게든다는 측면에서 스타트업 기업에는 매우 적합합니다. 하지만 기업이 점점 커지면 일을 분할시켜야 할텐데 이 올인원 방식은 유지보수가 어려워지고, 운영 비용이 증가하게 될 것입니다. 그래서 역할을 세분화해서 나온 것이 MVC 패턴입니다. 컨트롤러(Controller) 컴포넌트 역할 클라이언트의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출하는 일입니다. 또한, 클라이언트가 모델을 호출할 때 전달하기 쉽.. 2021. 5. 21. intellij에서 Spring Boot + jsp 사용하기 Spring Boot에서 Jsp 사용하기 개발 IDE: intellij Community 버전 빌드 툴: Gradle 참고: start.spring.io에서 패키징을 war로 선택하셔야 합니다. 아래 부분에 WebMvcConfig 클래스는 굳이 생성하지 않으셔도 됩니다. 라이브러리 추가 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' tomcat-embed-jasper: JSP 엔진 역할 jstl: jsp 개발을 편하게 해주는 라이브러리 디렉토리 생성 위 사진처럼 src/main 폴더 아래에 webapp, WEB-INF, views를 순서대로 3개의 디렉토리를 생성을 해줍니다. 풀.. 2021. 5. 12. cannot deserialize from object value 에러! cannot deserialize from object value (no delegate- or property-based creator) 위와 같은 에러가 발생했다면 아래글을 한번 확인해보자. Member Class 먼저 데이터를 담을 모델을 정의하였습니다. //Getter, Setter는 생략 public class Member { private int id; private String username; private String password; private String email; public Member(int id, String username, String password, String email) { this.id = id; this.username = username; this.pass.. 2021. 5. 12. Spring Boot와 MySQL 연동 (쉬움) Spring Boot와 MySQL 연동 (Gradle) Spring Boot 생성을 하고 나서 MySQL과 연동을 해보겠습니다. root 계정 접속 유저를 생성하기 위해 먼저 root 계정에 접속합니다. 명령 프롬프트 창 mysql -uroot -p 참고로 저렇게 맨 앞에 mysql을 쓸 수 있는건 환경 변수에 mysql\bin을 추가해주어서 입니다. https://dog-developers.tistory.com/21 저는 cmd로 접속했지만 사용하기 편한 GUI(Workbench, DBeaver 등등..)를 이용해도 무방합니다. 유저 생성 -- 유저이름@IP주소 create user 'azure'@'%' identified by 'azure1234'; 먼저 D.. 2021. 5. 12. 이전 1 2 3 4 5 다음