STS란 Spring 프레임워크를 좀 더 쉽게 사용하기 위해서 eclipse 기반으로 만들어진 개발 툴이다. 이클립스 기반이기 때문에 설치를 제외한 거의 모든 부분이 이클립스와 동일하지만, 설치, 프로젝트 생성 이후에 조금 자바 버전에 따라 조금 건드려야 하는 부분이 있기 때문에 정리해보려고 한다. STS 다운로드는 다음 링크에서 가능하다. STS: https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applicat..
bean 객체가 필요한 객체를 스프링 컨테이너 (BeanFactory 나 ApplicationContext) 로부터 직접 사용해야 할 경우에 ApplicationContextAware 인터페이스를 구현받아, 따로 선언하지 않고도 다른 객체를 직접 사용할 수 있다. ◎LifeBean(interface) package test.exam07; public interface LifeBean { void lifeMessage(); } ◎LifeBeanImpl package test.exam07; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanNameAware; import org.springf..
bean 객체 생성 시 초기화 작업을 각 인터페이스를 구현받아 사용할 수 있다. 1. init-method : 커스텀 초기화 메서드 2. destroy-method : 커스텀 소멸 메서드 3. BeanNameAware 인터페이스 => 빈 객체가 자기 자신의 이름을 알아야 하는 경우에 사용 => 빈 클래스가 BeanNameAware 를 구현한 경우 컨테이너는 setBeanName( ) 메서드를 호출하여 빈 객체의 이름을 전달 => setBeanName(String arg) : 객체가 생성될 때 해당 객체 빈 의 id( 혹은 name) 값을 전달 받는 메서드 ◎LifeBean.java package test.exam06; public interface LifeBean { void lifeMethod(); }..
스프링은 기본적으로 하나의 빈 설정에 대해 1 개의 객체만의 생성한다 즉, xml 에서 생성한 bean 객체의 Scope 기본값은 객체 맴버를 재사용하는 singleton 이다. bean 태그의 scope 속성값은 다음과 같다. 이해를 위해 예제를 하나 확인해보면, ◎BeanTest package test.exam05; public class BeanTest { public BeanTest() { } public void printTest() { System.out.println("안녕하세요"); } } ◎exam.xml 다음과 같이 bean 객체 내부에 scope 속성을 명시하지 않았다면, scope의 default인 singleton으로 설정된다. ◎main package test.exam05; im..
Spring DI 에 인자를 전달하는 것과 같이 어떤 객체를 주입할 수도 있다. 객체 주입에는 크게 2가지 방법이 있다. 1. 생성자 방식(constructor-arg 이용) ◎JdbcDao package test.exam03; public class JdbcDao { public JdbcDao() { } public int insert() { System.out.println("insert 작업"); return 0; } public void delete() { System.out.println("delete 작업"); } } ◎JdbcService package test.exam03; public class JdbcService { private JdbcDao jdbcDao; public JdbcSe..
기본적으로 context를 활용한 DI를 구성할 때, 접근하려는 객체의 기본 생성자가 존재하지 않는다면, 접근할 수가 없다. 그러나 일반적으로 싱글톤 패턴은 객체의 기본 생성자 자체가 private이기 때문에 마찬가지로 객체 생성이 불가능하다. 때문에 factory-method속성을 추가하여 getInstance메서드를 따로 호출해줘야 한다. ◎ExamTest package test.exam02; public class ExamTest { private static ExamTest instance; private ExamTest() { } public static ExamTest getInstance() { if(instance == null) { instance = new ExamTest(); } re..
Spring DI 구성에서 사용하고자 하는 Dao 에 어떤 값을 전달하고자 하면, 등록한 bean 태그 내부에 constructor-arg 태그를 사용하여 전달할 수 있다. ◎ExamDao package test.exam01; public class ExamDao { private String msg; public ExamDao() { } public ExamDao(String msg) { this.msg = msg; } public void printMessage() { System.out.println("ExamDao의 msg 내용: " + msg); } } 이때, 위와 같이 기본 생성자가 무조건 있는 상태에서 setter개념의 생성자를 하나 더 만들어줘야 한다. ◎exam01.xml ◎ExamMai..
DI 는 스프링 컨테이너가 지원하는 핵심 개념 중 하나이다. DI 는 객체 사이의 의존 관계를 객체 자신이 아닌 외부의 조립기 스프링 컨테이너 가 수행한다는 개념이다. 기존에는 다음과 같이 의존하는 객체를 직접 코드에 명시했지만, 스프링에서는 설정 파일이나 어노테이션을 이용하여 객체 간의 의존 관계를 설정할 수 있다. ◎ Spring beans 를 활용한 의존성 주입 의존성 주입에 대한 간단한 구조 설명이므로, Web Project가 아닌 일반 java application으로 진행했다. 1. TestDao 인터페이스 생성 ◎TestDao package test; public interface TestDao { void printMessage(); } 2. TestDao 인터페이스를 구현 받는 TestD..
지금까지는 Spring 게시판 예제를 맛보기로 구성해보며, 전체적인 구초를 한 번 훑었다. 그 마무리 단계로, 완성한 게시판 예제를 한번 더 단계별로 확인해보면서 Spring 구동의 순서와 구성 순서 등을 확인하려고 한다. 그럼 바로 한번 리뷰해보자. 1. 요청을 처리할 DispatcherServlet을 사용하기 위해 우선적으로 web.xml 문서에 Servlet 파일들을 등록 ◎web.xml spring_simple_board board org.springframework.web.servlet.DispatcherServlet board *.do index.html index.htm index.jsp default.html default.htm default.jsp 이때, 주의할 점은 톰캣 서버가 구동되..
- redux
- 인천 구월동 맛집
- javascript
- 맛집
- Async
- Promise
- 파니노구스토
- 이탈리안 레스토랑
- 인천 구월동 이탈리안 맛집
- 정보보안기사 #실기 #정리
- await
- react
- react-native
- redux-thunk
- AsyncStorage
- Total
- Today
- Yesterday