스프링
-
싱글톤 패턴과 싱글톤 컨테이너스프링 2021. 8. 28. 11:44
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 싱글톤 패턴이란? 애플리케이션에서 여러 객체를 생성하지 않고 오로지 한 객체만 생성하는 것 안티패턴이라고도 한다. 싱글톤 패턴의 장점 위의 그림을 보면 클라이언트가 앱에 서비스를 요청할때마다 반복적으로 객체를 만들어서 처리하는 모습을 볼 수 있다. 지금과 같이 클라이언트가 적을경우에는 상관이 없지만 클라이언트의 수가 엄청나게 많아진다면 시스템에 부하를 줄 수 있다. 이를 앱의 생..
-
스프링 빈과 스프링 컨테이너스프링 2021. 8. 2. 17:34
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 스프링 컨테이너 스프링 빈이 저장되는 싱글턴 컨테이너를 스프링 컨테이너라고 한다. ApplicationContext 클래스를 스프링 컨테이너로써 사용한다. 스프링 컨테이너를 사용해서 기존에 AppConfig를 설정하여 객체를 생성하고 DI를 하는 것을 대체 할 수 있다. 스프링 컨테이너는 @Configuration이 붙은 AppConfig를 설정 정보로 사용한다. @Bean 어노..
-
객체 지향 원리 적용스프링 2021. 7. 29. 16:53
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 관심사 분리 이전에 좋은 객체 지향 원칙인 SOLID를 배운적이 있다. SOLID를 다형성으로 구현해보려 했지만 OCP(개방/폐쇄 원칙), DIP(의존관계 역전 원칙)을 구현해내기 쉽지 않았다. 이를 해결하기 위해서 각 객체의 관심사를 분리하는 것이 필요했다. 예를들어 애플리케이션을 하나의 공연으로 생각하자. '역할'에 해당하는 '배역'과 '구현'에 해당하는 '배우'가 있다고 하..
-
스프링과 객체지향설계스프링 2021. 7. 25. 20:25
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 스프링의 탄생 배경 기존의 자바진영에서는 EJB(Enterprise Java Beans)라는걸 썼었다. 여러가지 강력한 기능을 제공해주는 툴이였지만 개발자가 개발을 할 때 EJB를 기반으로 개발해야해서 코드가 난잡해지고 객체지향 방법론을 거의 쓸 수 없는 문제가 있었다. 그러다보니 더더욱 힘들어져 이를 해결할 방법을 찾는 사람들이 있었고, 이를 해결한 사람이 스프링의 핵심개념과 ..
-
스프링 빈과 의존 관계스프링 2021. 7. 16. 20:00
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 스프링 빈과 스프링 컨테이너 스프링은 '스프링 빈'을 저장하는 '스프링 컨테이너'를 운용한다. @Component 애노테이션이 있으면 스프링 빈으로 자동 등록되어 스프링에서 관리해준다. 컴포넌트 스캔 @Component 애노테이션이 있으면 스프링으로 자동 등록해주는 기능이다. @Component를 포함하는 다음 애노테이션도 스프링 빈으로 자동 ..
-
테스트와 웹 애플리케이션 구조스프링 2021. 7. 14. 20:31
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 웹 애플리케이션의 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체 * Optional 객체 null을 반환할 수도 있는 객체를 리턴할 때 Optional로 래핑해주면 좋다. 래핑해줄 경우 Optional객체에서 ..
-
스프링 웹 개발 기초스프링 2021. 7. 13. 20:34
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 크게 웹을 개발하는 방법에는 3가지로 나뉜다. 정적 컨텐츠를 클라이언트에 건네주기 MVC와 템플릿 엔진을 이용해서 데이터 정제 후 클라이언트에 건네주기 API를 통해 클라이언트에 객체를 건네주기 1. 정적 컨텐츠를 클라이언트에 건네주는 방법 다른 처리를 할 것 없이 단순히 resources:static/ 폴더에 파일을 넣어준 다음에 URL로 이..
-
프로젝트 환경 설정스프링 2021. 7. 12. 12:59
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 초기화 스프링 프로젝트의 초기화는 스프링 부트 스타터 패키지를 사용했고, Gradle를 사용했다 디펜던시는 Spring Web, Thymeleaf를 추가했다. https://start.spring.io/ Gradle 빌드 및 라이브러리 초기화후 IntelliJ에서 오픈하면 빌드가 진행되며 필요한 라이브러리들을 설치한다. 이 후에 라이브러리 목록..