2024/08/19 5

1. Bean을 수동으로 등록하는 방법

New Project를 생성한다.3가지를 Add 해준다. Create Git을 했으니 생성한 프로젝트를 모두 최초의 커밋을 해준다.오른쪽에 코끼리모양 Gradle 버튼을 누르고 사진을 따라간다.그럼 build.gradle로 진입한다.그리고 이 코드를 작성하고 코끼리 새로고침을 눌러 적용시킨다.SpringAuthApplication으로 이동이렇게 작성한다. Spring Security의 일부 기능들을 제외시킨것이다. 학습할 때 방해가 되기 때문이다. 이후에 Spring Security를 배울때 다시 제외한걸 돌려놓을것이다.Bean 수동 등록이란?@Component를 사용하면 @ComponentScan에 의해 자동으로 스캔되어 해당 클래스를 Bean으로 등록해준다. 일반적으로 @Component를 사용하여 ..

5. IoC Container와 Bean

이전 강의를 통해 DI를 사용했을 때의 장점을 살펴 보았다. 그런데 DI를 사용하기 위해서는 객체 생성이 우선되어야 한다. 그렇다면 언제 어디서 누가 객체를 생성해야 할까? 바로 Spring 프레임워크가 필요한 객체를 생성하고 관리하는 역할을 대신 해준다. 빈(Bean) : Spring이 관리하는 객체 Spring IoC 컨테이너 : Bean을 모아둔 컨테이너 Bean으로 주입받고 있는 생성자나 메서드는 왼쪽에 커피콩 아이콘이 보인다.JdbcTemplate 객체MemoRepositroy의 생성자로 JdbcTemplate를 받는데, 이는 기본적으로 Spring에서 자동으로 주입해주는 Bean이다. 왼쪽에 커피콩 아이콘이 보이는것으로 확인할 수 있다.이전 강의에서 오류발생 부분, bean이 없다고 말한다. ..

4. 메모장 프로젝트의 IoC & DI

객체 중복 생성 문제 해결Memo Service를 보면 "new MemoRepository(jdbcTemplate);" 코드가 중복되는게 보인다.public class MemoService { private final JdbcTemplate jdbcTemplate; public MemoService(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public MemoResponseDto createMemo(MemoRequestDto requestDto) { // DB 저장 MemoRepository memoRepository = new MemoRepository(jdbcTempl..

3. IoC(제어의 역전), DI(의존성 주입) 이해하기

Spring의 IoC와 DIIoC, DI는 객체지향의 SOLID 원칙 그리고 GoF의 디자인 패턴과 같은 설계 원칙 및 디자인 패턴이다. 이 둘을 더 자세하기 구분해 보자면 IoC는 설계 원칙에 해당하고 DI는 디자인 패턴에 해당한다. 요리로 비유해보면설계 원칙을 요리로 비유하기 신선한 재료를 사용한다. 신 김치를 사용한다. 밥과 김치의 비율을 잘 맞춰야 한다. 볶을 때 재료의 순서가 중요하다.디자인 패턴을 요리로 비유하기 오일을 두른 팬에 채썬 파를 볶아 파기름을 만든다. 준비한 햄을 넣고 볶다가, 간장 한스푼을 넣어 풍미를 낸다. 설탕에 버무린 김치를 넣고 함께 볶는다. 미리 식혀 둔 밥을 넣어 함께 볶는다. 참기름 한스푼을 넣어 마무리한다.좋은 코드란 무엇일까?논리가 간단해야 한다. 중복을 제거하고..

2024-08-19

answer.setCharAt(i,answer.charAt(i)-32);  answer.charAt(i)-32는 문자열 하나를 대문자로 바꾸기 위한 코드이다. 하지만 이 부분은 int형을 반환하므로 char 형태로 바꿔줘야 한다. answer.setCharAt(i,(char)(answer.charAt(i)-32));Spring에서 DataBase 연결에서 발생한 오류데이터베이스 연결이 안되어서 (비밀번호가 잘못입력되어서) 오류가 발생오류 메시지 가장 마지막에 중요한 정보가 있었다. 오류메시지는 끝까지 보는게 좋겠다.

오늘의 오류 2024.08.19