전체 글 120

[Spring] 08. <bean> 속성 사용하기 - Autowire

오늘은 spring의 bean속성 중 autowire라는 기능에 대해 정리해보려고 합니다. 새로운 프로젝트부터 만들러 가볼까요? (프로젝트는 그냥 큰 구분을 위한 것일 뿐 굳이 새로 안 만들어도 상관없습니다.) Spring04로 자바프로젝트 만들고 convert to maven project 해주시고 평소와 같이 spring-core와 spring-context를 pom.xml에 붙여줍니다. 그다음 패키지 만들러 가봅시다! Food.java package com.test02; public class Food { private String name; private int price; public Food() { } public Food(String name, int price) { this.name = n..

Java/Spring 2021.06.23

NoUniqueBeanDefinitionException 에러

의 속성 중 autowire에서 byType을 사용했을 때 에러가 발생했다. Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'com.test02.Food' available: expected single matching bean but found 2: favoriteFood,unFavoriteFood at org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:220) at org.springframework.beans.factory...

Java/Error 2021.06.22

[Spring] 07. 객체의 생성 타이밍 ( + lazy-init)

오늘은 spring에서 객체는 언제 생성되는지에 대해 정리해보려고 합니다. com.test07 패키지 만들러 가볼까요? IgTv.java package com.test07; public class IgTv implements TV { public IgTv() { System.out.println("ig tv 생성"); } @Override public void powerOn() { System.out.println("ig tv on"); } @Override public void powerOff() { System.out.println("ig tv off"); } @Override public void volumeUp() { System.out.println("ig tv volume up"); } @Ov..

Java/Spring 2021.06.21

Invalid property ' ' of bean class 에러

spring에서 DI 유형 중 setter 유형으로 setter를 만들고 객체를 생성할 때 값을 잘못주입해서 에러가 발생했다. Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'myclass' of bean class [com.test01.BeanTest]: Bean property 'myclass' is not writable or has an invalid setter method. Did you mean 'myClass'? at org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException(BeanWrapperImpl.jav..

Java/Error 2021.06.21

[Spring] 06. applicationContext의 내부구조(Factory 패턴)

spring에서 지금까지는 MTest에서 ApplicationContext factory = new .... 이러한 형식으로 작성해서 applicationContext 안에 생성되어있는 객체를 불러오는 작업을 했었습니다. 그렇다면 이게 내부적으로 어떻게 동작을 하는것인지에 대해 오늘 정리해보려고 합니다. com.test06 패키지를 만들어줍니다. 이번엔 만들때부터 뭔가 어색하죠? ㅎㅎ applicationContext.xml없이 전부 class로 만들어 줍니다.(TV는 인터페이스입니다.) BeanFactory.java package com.test06; public class BeanFactory { public Object getBean(String beanName) { if(beanName.equal..

Java/Spring 2021.06.20

[Spring] Namespace가 안 나올 때

지난 포스팅에서 Namespace를 이용하여 bean 태그의 속성 사용하는 방법을 정리했는데 제가 다른 컴퓨터로 실습을 해보다가 보니 아래 그림처럼 Namespace가 처음에 없는 경우가 있어서 이럴 때는 어떻게 해야하는지 살펴보겠습니다. 1. Editor를 이용한다. 해당 xml파일에 마우스 오른쪽 클릭 - open with - spring 검색 - spring config editor 선택 2. sts를 업데이트한다. Help - eclipse market place - install - sts 업데이트 여기서 Spring Tools 3 Add-On for Spring Tools 를 update 해줍니다. Confirm 눌러주시고요 여기서도 별다른 클릭없이 바로 Confirm 여기서 I accept ..

Java/Spring 2021.06.19

[Spring] 05. <bean> 속성 사용하기

오늘은 태그 안에 있는 속성들 중 c: 속성과 p:속성을 이용해 보려고 합니다. com.test05 패키지부터 만들러 가봅시다~ Developer.java package com.test05; public class Developer { private Emp emp; private String dept; public Developer() { } public Developer(Emp emp, String dept) { this.emp = emp; this.dept = dept; } public Emp getEmp() { return emp; } public void setEmp(Emp emp) { this.emp = emp; } public String getDept() { return dept; } pub..

Java/Spring 2021.06.18

[Programmers] 프로그래머스 42626 더 맵게 - java

이번 문제는 C++, java, python3 밖에 언어를 지원하지 않아서 많이들 안푸셨을거같은데요 문제를 보면 잘 안보이시다면 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 를 참고해주세요~ 문제풀이 import java.util.*; public class Solution { public static int solution(int[] scoville, int K) { //우선순위 큐(숫자가 ..

[Spring] 04. 생성된 객체 가져오기

오늘은 이미 만들어져 있는 객체를 가져와서(참조해서) 사용하는 방법을 배워보겠습니다. 그 전에 생성자 주입, setter주입은 같이 사용할 수도 있다는거 알고 계셨나요? com.test03 패키지를 만들어서 간단히 보여드리겠습니다. Developer.java package com.test03; public class Developer extends Emp { private String dept; public Developer() { } public Developer(String name, int salary) { super(name, salary); } public void setDept(String dept) { this.dept = dept; } @Override public String toStri..

Java/Spring 2021.06.16

[Git] Github에 잔디가 안 나올 때 (안 심어질 때)

github에서 잔디란? 사진과 같이 github에 무엇인가 commit했을 때 그 commit한 횟수에 따라 해당 날짜에 초록색으로 보이는 이미지가 들어가는 것인데 마치 잔디와 같아서 그렇게 이름 붙였다. 요새는 블로그도 1일 1포스팅을 목표로 하고있고 내 github도 1commit을 목표로 열심히 하고 있었는데 언제부턴가 git push를 아무리해도 github에 잔디가 생성되지 않았다. 뭔가 이상해서 원인을 알아보니 깃허브 계정의 이메일, 유저이름 과 config의 이메일, 유저이름이 같아야 push 했을 때 contributions에 잔디가 생긴다. 그럼 이를 어떻게 확인해야 할까? (저는 git bash를 사용하여 commit하므로 명령어만 알려드리겠습니다.) github에서 쓰는 아이디, 이..

Git/Git 2021.06.15