본문 바로가기

개발공부61

[SpringBoot]Spring 의존성 주입 DI(Dependency Injection) 와 순환 참조 DI(Dependency Injection) 은 기본적으로 Bean 끼리만 가능하다. Spring 의존성 주입 DI(Dependency Injection) 와 순환 참조 Spring 4.3 이상 부터는, 어떠한 Class에 생성자가 1개 뿐이고 해당 생성자로 주입받는 Reference 변수들이 Bean으로 등록되어 있다면 그 Bean을 자동으로 주입한다. (@Autowried 생략 가능) No qualifying bean Error : Bean 주입에 실패했다는 에러 🤔 DI (Dependency Injection) 이란? 의존성 주입. 생성된 Bean을 객체에 넣어주는걸 의미한다. 보통 @Autowired를 통해 주입하지만 위에서 말한 특성을 이용해 생성자를 통해서도 주입이 가능하다. 만약 사용해야 하.. 2020. 5. 1.
[SpringBoot] IoC 컨테이너와 Bean Spring - IoC 컨테이너와 Bean 이전 포스팅에서는 IoC 가 어떤 것인지 알아보았다. 이번 포스팅에서는 IoC 컨테이너 가 무엇인지 알아보도록 하겠다. IoC(Inversion of Control) 컨테이너 빈(Bean) 을 만들고 엮어주며 제공해준다. 기본적으로 Bean들은 Singleton 으로 이루어져 있다. 멀티 스레드 상황에서 Singleton을 만드는것은 번거롭고 조심스러운 일이다. 하지만 IoC 컨테이너는 이를 관리해주기 때문에 손쉽게 Bean을 관리할 수 있다. Singleton scope의 객체는 사용할때마다 계속 생성해 주는것이 아닌 하나의 인스턴스를 Application 전반에 걸쳐 사용할 수 있다. ApplicationContext 를 이용해 모든 Bean들을 조회할 수 .. 2020. 5. 1.
[SpringBoot]Spring IoC(Inversion of Control) Spring IoC(Inversion of Control) 🤔 Inversion of Control : 제어권이 역전된 것. 일반적인 경우 : 내가 사용할 의존성은 내가 만든다 IoC : 내가 사용할 의존성을 대신 만들어 준다. 의존성을 관리하는게 자기 자신이 아니라 외부에 의해 주입이 되기 떄문에 Inversion of Control 이라고 라고 부른다. 의존성을 주입해 주는 일 : Dependency Injection 😀 일반적인 경우를 보자. // 일반적인 경우 public class TestClassController { public TestRespository testRespository; // 따로 초기화를 해주지 않음 public TestClassController(TestRespositor.. 2020. 5. 1.
Spring - JPA에서 Like 기능 수행하기. Spring - JPA에서 Like 기능 수행하기. JPA로 like 기능 수행하기 CollectionfindBySomthingIsContaining(String str) Maria 라는 이름이 있을때 aria라고 검색해도 참조가 가능하다. 우리가 알고 있는 sql 에서의 like를 활용한 것인데, SELECT * FROM Something WHERE firstName LIKE : firstName% 이렇식으로 하게 되면 앞부분만이 매칭이 되기 떄문에 aria로 검색했을때 Maria를 찾지 못한다. 따라서 % 위치를 조정해주어야 한다. SELECT * FROM Something WHERE firstName LIKE %: firstName 이런식으로 : 앞에 % 가 와야한다. 위와 같다. 자세한 내용은 S.. 2020. 5. 1.
django - modelForm 에서 request.FILES 를 받지 못할때. reqeust.FILES is not vaild model.py class Heartbeat(models.Model): audio_idx = models.AutoField(primary_key=True) user_id = models.CharField(max_length=64) dog_name = models.CharField(max_length=32) create_date = models.DateTimeField(auto_now_add=True) heartbeat_normal_condition = models.IntegerField(null=True) audio_file = models.FileField(upload_to="heartbeat_data/")form.py (before) class Hear.. 2020. 4. 28.
python python3 alias 변경 django 프로젝트를 진행하는 도중 python alias가 python2.7로 설정되어 있어서 바꾸어 주기 위해 찾아보았다. 내용은 간단하다. alias python=python3 해당 명령어로 python alias를 python3로 변경할 수 있다. 2020. 4. 26.