Component Scan 과 의존관계 자동 주입 시작Spring Bean 을 등록할 때는 자바 코드의 @Bean 이나 XML 의 을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열한다.등록해야 할 스프링 빈이 수십, 수백 개가 되면 일일히 등록하기도 귀찮고, 설정 정보도 커지고, 누락하는 문제도 발생한다.그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다.의존관계도 자동으로 주입하는 @Autowired 라는 기능도 제공한다. package hello.core;import hello.core.member.MemberRepository;import hello.core.member.MemoryMemberRepository;import org.springf..
1️⃣ Web Application 과 싱글톤Spring 은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생대부분의 Spring Application 은 Web Application 이다. 물론 Web 이 아닌 Application 개발도 얼마든지 개발할 수 있다.Web Application 은 보통 여러 고객이 동시에 요청을 한다. Spring 이 없는 순수한 DI Container Testpackage hello.core.singleton;import hello.core.AppConfig;import hello.core.member.MemberService;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayNa..
Spring 생태게필수 선택 Spring Framework핵심 기술 : Spring DI Container, AOP, Event, 기타 등웹 기술 : Spring MVC, Spring WebFlux데이터 접근 기술 : Transaction, JDBC, ORM 지원, XML 지원기술 통합 : 캐시, 이메일, 원격접근, 스케줄링테스트 : 스프링 기반 테스트 지원언어 : 코틀린, 그루비최근에는 스프링 부트를 통해 스프링 프레임워크의 기술들을 편리하게 사용 가능Spring BootSpring을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용단독으로 사용할 수 있는 스프링 애플리케이션을 쉽게 생성Tomcat 같은 웹 서버 내장하여 별도의 웹 서버를 설치하지 않아도 됨.손쉬운 빌드 구성을 위한 starte..
정적 컨텐츠Spring-boot 정적 컨텐츠 기능 제공https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content Spring Boot FeaturesGraceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs as part of closing the applicatio..
Project 생성Spring-boot 스타터 사이트로 이동해서 Spring project 생성https://start.spring.io (Spring-boot 기반으로 Spring 관련 Project 를 만들어주는 Site) ProjectMavenGradle (요즘은 Gradle 을 많이 사용함)필요한 Library 를 가져오고, 빌드하는 lifecycle 을 관리해주는 toolSpring-BootSNAPSHOT : 아직 만들고 있는 VersionM1 : 아직 정식 Release 된 Version XProject MetadataGroup : 기업명 or 도메인명Artifact : Build 되어 나올 때의 결과물NameDescriptionPackage NameDependencies어떤 library 를..
앞선 포스팅에서 "mysite" 라는 Project를 생성하였음.https://devidas.tistory.com/55App프로젝트 단독으로는 아무런 일도 할 수 없으므로 기능을 추가하기 위해서는 App을 만들어야 함게시판 기능을 담당할 pybo 앱 생성(mysite) C:/projects/mysite > django-admin startapp pybo migrations : Directory로 Django가 DB Table을 생성하고 수정하기 위한 파일들을 이곳에서 관리함.admin.py : Django 관리자 화면을 구성하는 파일이다. 이 곳에 코드를 추가하여 Django 관리자 화면을 제어할 수 있음apps.py : App의 구성 정보를 정의하는 파일models.py : DB Model 정의하는 ..