springframework 19

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

[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

[Spring] 03. Singleton(싱글톤)으로 객체 선언하기

오늘은 스프링에서 싱글톤을 이용해서 객체 생성하는 방법을 알아보려고 합니다. 그렇다면 싱글톤이란 무엇인가 먼저 알아봐야겠죠? Singleton(싱글톤) 이란? 간단하게 말하면 "객체의 인스턴스가 단 1개만 생성되는 패턴을 의미한다." 입니다. 그렇다면 왜 싱글톤을 사용할까요? 싱글톤의 장점으로는 객체의 인스턴스가 1개만 생성되기 때문에 고정된 메모리 영역을 사용하여 메모리 낭비를 방지할 수 있습니다. 싱글톤은 전역으로 사용되는 인스턴스를 가지기 때문에 다른 클래스간의 데이터 공유가 비교적 간단합니다. 이제 본격적으로 코딩해볼게요!! 이번에는 Spring03이라는 프로젝트를 새로 만들어주시고 그 안에 com.test01이라는 패키지를 만들어 주세요 AbstractTest.java package com.te..

Java/Spring 2021.06.14

[Spring] 02. bean 객체 생성하기(01)

이제 본격적으로 스프링을 사용해서 코딩을 해볼게요!! 지난 포스팅과 비슷하게 Spring_Hello라는 프로젝트에 이렇게 5가지를 만들어 줍니다. - 여기서 MessageBean.java는 interface이며 MessageBeanEn, MessageBeanKo는 MessageBean을 상속받고 있어야합니다. - beans.xml은 패키지 마우스 오른쪽 클릭 - new - other - spring 검색 후 Spring Bean Configuration File로 만들어 주시면 됩니다. 그리고 태그 안에다가 이 코드를 작성한다면 준비 완료! MessageBean, MessageBeanKo, MessageBeanEn은 아래 포스팅된 내용과 같습니다. https://darmk.tistory.com/6 [Sp..

Java/Spring 2021.06.11

[Spring] Eclipse에 Spring 설치하기

이제 스프링을 실습하기 위한 환경을 구축할 건데요. 저는 Eclipse IDE 환경에서 실습할 예정이며 이클립스 설정에 대한 부분은 추후 올리겠습니다. 가장 먼저 Eclipse 위에 메뉴바에 help 눌러보시면 사진과 같이 밑에 뭔가 주르륵 많이 뜨는데 여기서 elipse market place를 선택해줍니다. 그다음 sts를 검색해줍니다 그럼 또 여러가지가 나오죠 여기서 제가 실습할 환경은 Spring tools 3 (standalone Edition)입니다. 설치해줍니다. 그러면 뭔가 엄청 많이 체크되어있는데 해제할 거 없이 바로 confirm 누르시면 됩니다. 그 다음 바로 accept 누르고 finish 하시면 오른쪽 아래에 progress 도는 거 확인하시면 됩니다. ** sts에 대해 간단히 ..

Java/Spring 2021.06.08

[Spring] 스프링 프레임워크란?

스프링을 공부하기 전에 스프링 프레임워크란 무엇인가 기본 개념을 정리해봐야겠다 해서 열심히 찾아서 공부해봤는데 공부한 내용을 간략하게 정리해보자면 먼저 스프링(Spring)이란? Java의 프레임워크로 Java 언어를 기반으로 사용하여 JSP, Mybatis, JPA 등 Java를 활용한 기술들의 사용을 편하게 해주고 EJB 기반이 아닌 POJO 기반의 개발로 EJB와 다르게 복잡한 순서 없이 간단하게 이용할 수 있어 "경량 컨테이너"라고 부르기도 합니다. 장점으로는 중복 코드의 사용을 줄여 비즈니스 로직을 간단히 할 수 있다는 점과 이로 인한 오픈소스를 좀 더 효율적으로 가져다 쓰기 좋다는 점이 있겠네요. 그렇다면 프레임워크(Framework)란 무엇일까요? 프레임워크는 간단히 말하자면 필요한것 들을 ..

Java/Spring 2021.05.06