본문 바로가기

반응형

WINK-(Web & App)/Spring Boot 스터디

(105)
[2024-2 Spring Boot 스터디] 김아리 #2 주차 스프링 빈과 의존관계컨포넌트 스캔과 자동 의존관계 설정스프링은 스프링 컨테이너에서 객체를 생성하여 스프링 빈으로 등록한 후 관리한다.MemberController에서 MemberService을 가져와서 사용할 때 매번 new 하면 그때마다 새로운 객체가 생성된다.new 하지 않고 스프링 컨테이너에 객체를 생성한 다음 그 객체를 가져다가 쓰자컨트롤러 뿐만 아니라 서비스, 리포지토리까지 @Service, @Repository로 스프링 컨테이너에 자동 등록해야 가져다 쓸 수 있다.그 다음 @Autowired +  생성자 주입하여 컨테이너에 있는 객체를 연결한다. 컨포넌트 스캔 원리@Component : 이 어노테이션이 있으면 스프링 빈으로 자동 등록한다.다음 어노테이션도 @Component를 포함하여 스프링 ..
[2024-2 SpringBoot 스터디] 조상혁 #2주차 이 블로그는 스프링입문 - 코드로 배우는 스프링 부트를 기반으로 쓰여졌습니다. 스프링 빈과 의존관계 스프링 빈(Bean)스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다.의존성을 만들기 위하여 사용한다고 한다. 객체가 의존관계를 등록할 때 스프링 컨테이너에서 해당하는 빈을 찾고, 그 빈과 의존성을 만든다. 스프링 빈의 등록방법은 2가지 정도가 있다. 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기++ 빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다.  🟢 [Spring] 스프링 빈(Bean) 이란?📌 스프링 빈(Bean) 이란? 빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴..
[2024-2 SpringBoot 스터디] 정호용 #1주차 섹션 5~9 섹션 5. 스프링 빈과 의존관계- 컴포넌트 스캔과 자동 의존관계 설정회원가입 서비스 만들기 -> 멤버 컨트롤러가 멤버 서비스를 통해 회원가입을 해야 함. -> 멤버 컨트롤러가 멤버 서비스를 의존한다.내용이 아무것도 없어도 @Controller 애노테이션이 있으면 멤버컨트롤러 객체를 만들어줌, 스프링이 관리하게 해줌private final MemberService memberService = new MemberService();원래 이렇게 선언했는데 차라리이렇게 하는 것을 권장하신다. @Autowired 는 스프링 컨테이너에 있는 멤버 서비스를 연결해 준다. 다만 이렇게 하면 memberService에 빨간 줄이 뜨는데, 이 memberService는 순수한 자바 클래스이고, 스프링이 이를 알 수 없다.그..
[2024-2 Spring Boot 스터디] 백채린 #1주차 섹션2. 프로젝트 환경설정  프로젝트 생성 사전 준비물 - java(17 이상), IDE(IntelliJ or Eclipse) https://start.spring.io 로 이동해서 스프링 프로젝트 생성→ 기본 메인 클래스 실행→ 스프링 부트 메인 실행→ https://localhost:8080로 동작 확인 * IntelliJ Settings에 Gradle에서 IntelliJ IDEA로 변경   라이브러리 살펴보기 ▷ 스프링 부트 라이브러리spring-boot-starter-web- spring-boot-starter-tomcat: 톰캣 (웹서버)- spring-webmvc: 스프링 웹 MVCspring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)spring-boot-sta..
[2024-2 SpringBoot 스터디] 정호용 #1주차 섹션 1~4 섹션 2스프링부트 프로젝트 생성하기https://start.spring.io/여기 접속해서 위와 같이 설정을 해 주면 된다.Project의 Maven 이나 Gradle 과 같은 것은 라이브러리 부터 빌드까지 모두 담당하는 것이다. 예전에는 Maven을 주로 썼으나, 요즘에는 Gradle을 쓴다고 한다.Spring Boot에서의 Snapshot은 아직 만들고 있는 버전이며, M1 같은 것은 아직 완전히 완성된 것이 아니다.Dependencies는 어떤 라이브러리를 땡겨쓸 것인지에 대한 것이다.Spring Web과 Thymeleaf를 선택한다.그 후에 Generate를 하고, IntelliJ에서 열어준다.src : main과 test로 이루어져 있다. 요즘에는 main폴더와 test폴더가 나뉘어져 있다.ma..
[2024-2 Spring Boot 스터디] 류상우 #1주차 프로젝트 환경설정 프로젝트 생성https://start.spring.io/ 에서 기본 설정 후 IntelliJ IDEA에서 해당 파일을 열어주었다. 이후 ./src/main/java/hello.helloSpring/HelloSpringApplication 을 실행시키면 정상적으로 실행된 것을 확인할 수 있었다.라이브러리 살펴보기IntelliJ의 프로젝트 탭이나 Gradle 탭에서 해당 프로젝트의 외부 라이브러리를 살펴볼 수 있다. 특히 Gradle 탭에서는 라이브러리 간의 의 관계도 파악할 수 있다. 주로 사용되는 라이브러리는 이러한 것들이 있다.View 환경설정Welcome Page 만들기Welcome Page란 도메인을 입력해 연결했을 때 나오는 가장 첫 화면인데 우선은 간단한 html 파일을 만들어..
[2024-2 SpringBoot 스터디] 윤성욱 #1주차 Spring 공부를 본격적으로 시작하면서, 김영한 개발자님의 강의를 듣고 필요한 내용만 정리한 글이다.비지니스 요구사항 정리데이터 : 회원ID, 이름기능 : 회원 등록, 조회+ 데이터 저장소가 선정되지 않은 상태라고 가정 (RDB, NoSQL, ...)→ 인터페이스를 사용하여 구현 클래스를 교체할 수 있도록 설계Back-End회원 객체 생성domain Package > Member Class user ID, name을 private로 생성 후 Getter and Setter로 접근 가능하도록 함public class Member { private Long id; private String name; public Long getId() { return id; } p..
[2024-2 SpringBoot 스터디] 탁태현 #1주차 이번 강의에서 핵심적인 부분과 저랑 마찬가지로 가장 이해가 힘들었던 부분은 DIP(Dependency Inversion Principle)라고 생각이 들었습니다.그래서 DIP를 해야하는 이유를 곰곰히 생각해 보았습니다. 첫번째는 강의에서 언급된 DB의 종류가 아직 정해지지 않았을 때입니다.이런 경우에는 DAO가 해야하는 역할에서 입력 값과 출력 값 만을 명시하고 구체적인 작동은 서술하지 않는 추상화(interface)를 통해 미리 핵심 기능들을 개발해 나갈 수 있습니다.  두번째는 Domain과 Infrastructure의 개발자가 다를 때 입니다.비즈니스 핵심 로직은 A가 코드를 만들고 Infra는 B가 코드를 만든다고 했을 때 A 개발자는 Infra코드 없이 개발을 진행해야 합니다. 이런 상황에서 A..

반응형