본문 바로가기

Java/spring

(13)
[Java/스프링] 스프링 컨테이너, 빈 (스프링의 싱글톤과 Java 싱글톤의 차이점) 들어가며🗒️ IoC: Inversion of Control, 의존 관계 주입(Dependency Injection)이라고도 합니다. 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 게 아니라 주입 받아 사용하는 방법을 말합니다. 1. 스프링 IoC 컨테이너, 빈1) 컨테이너(Container)💡 스프링의 컨테이너는 "객체(빈)를 넣을 그릇"이라고 할 수 있습니다. 이 그릇은 애플리케이션의 요구사항에 맞게 생성된 객체(빈)들을 담고 관리합니다. 이러한 객체들은 XML 설정 파일이나 어노테이션을 통해 정의되며, 스프링 컨테이너에 의해 관리됩니다. 왜 IoC 컨테이너라고 부를까? 전통적인 객체 생성 및 관리 방식과 다르게 객체의 생성, 초기화, 의존성 주입, 생명주기 관리 등을 개발자가 아닌 컨테이너가..
[Java/스프링 입문] 스프링 빈과 의존관계 - 컴포넌트 스캔과 자동 의존관계 설정(@Controller, @Service, @Repository, @Autowired), 자바 코드로 직접 스프링 빈 등록하기 (@Configuration, @Bean) 들어가며스프링 빈을 등록하는 2가지 방법🫘 컴포넌트 스캔과 자동 의존관계 설정🫛 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔과 자동 의존관계 설정 (@Controller, @Service, @Repository, @Autowired)1) @Controller, @Service, @Repository의존 관계앞서 만든 서비스에 화면을 붙이기 위해선 Controller와 View가 필요합니다.MemberController는 MemberService를 통해서 회원가입, 조회할 수 있어야 합니다.=> 이러한 관계를  MemberController가 MemberService를 의존한다고 표현합니다. 컴포넌트 스캔@Component: @Component 어노테이션이 있으면 스프링 빈으로 자동 등록됩..
[Java/스프링 입문] 스프링 웹 개발 기초 - 회원 관리 예제 (비즈니스 요구사항 정리, 회원 도메인과 리포지토리 만들기, 회원 리포지토리 테스트 케이스 작성, 회원 서비스 개발, 회원 서비스 테스트 (JUnit 테스트 프레임워크)) 회원 관리 예제 - 백엔드개발📋 비즈니스 요구사항 정리🏗️ 회원 도메인과 리포지토리 만들기🧪 회원 리포지토리 테스트 케이스 작성💻 회원 서비스 개발✅ 회원 서비스 테스트 (JUnit 테스트 프레임워크) 1. 비즈니스 요구사항 정리데이터: 회원 ID, 이름기능: 회원 등록, 조회가상의 시나리오: 아직 데이터 저장소가 선정되지 않음  컨트롤러: 웹 MVC의 컨트롤러 역할서비스: 핵심 비즈니스 로직 구현리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계회원저장소: MemberRepo..
[Java/스프링 입문] 스프링 웹 개발 기초 - 정적 컨텐츠, MVC와 템플릿 엔진, API(@ResponseBody) 들어가며📜 정적 컨텐츠: 파일을 그대로 클라이언트단에 보여주는 방식🛠️ MVC와 템플릿 엔진: 서버에서 변형을 하여 html을 바꿔서 내려주는 방식🔄 API 방식: json 포맷으로 클라이언트에게 데이터를 전달하는 방식이라고 할 수 있습니다. 1. 정적 컨텐츠 (파일을 그대로)main > resources > static > hello-static.html정적 컨텐츠 입니다.  정적 컨텐츠 동작원리웹 브라우저에서 localhost:8080/hello-static.html을 치면 내장 톰캣 서버가 이  요청을 받습니다.스프링은 우선 컨트롤러를 먼저 찾아보지만, hello-static 관련 컨트롤러는 없습니다.컨트롤러가 없기에 이후 resouces: static/hello-static.html를 찾아 ..
[Java/스프링 입문] 프로젝트 환경설정 - 프로젝트 생성, 라이브러리 살펴보기, View 환경설정, 빌드하고 실행하기 1. 프로젝트 생성1) 기본 세팅Java 17Spring 3.0부터는 Java 17 버전 이상만 지원 가능하기 때문에, Java 17 버전으로 다운로드를 받습니다.https://www.oracle.com/java/technologies/downloads/#java17 Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com환경 변수 설정Window + R → sysdm.cpl로 시스템 속성에 진입합니다.고급 → 환경 변수 → JAVA_HOME 시스템 변수를 설정합니다. 2)..

반응형