BackEnd/Spring 20

📑 SpringMVC_DB_국비Day84

[ Spring MyBatis환경설정 ] ★ spring이 contextLoaderListener객체를 생성하면, contextLoaderListener이 객체가 ds, factoryBean, sqlSession 빈을 생성하고 의존성 주입까지 해준다. 1. src/main/resources 폴더에 config.spring.context 패키지를 추가한다. spring에서 DB를 사용하기 위해서는 DI를 위해 여러가지 환경설정 xml파일이 필요하다. 이를 하나의 root-context.xml 파일에 모든 DB 환경설정 정보를 만들면 후에 일일히 찾아서 유지보수가 어렵기 때문에 따로 패키지를 만들어서 분류한다. 물론 새로운 환경 설정을 만들것이기 때문에 root-context.xml파일은 삭제할 것이다. s..

📑 SpringMVC_Parameter_국비_Day83

* 일반적인 다이나믹 웹 프로젝트는 contextPath가 프로젝트 이름이 되지만, spring legacy프로젝트는 초기에 프로젝트를 생성하는 경우 설정한 최상위 패키지가 com.ict.myapp이라고 한다면, myapp이 contextPath가 된다. [ Spring MVC Request LifrCycle ] 사용자의 요청 -> Filter -> DispatcherServlet(Main Controller) -> 전처리(파일에 대한 전처리) -> HandlerMapping (요청에 담긴 URL을 보고 작업을 분류한다.) -> HandlerInterceptor(실제 작업 처리를 진행하기 전에 보안 처리, 로그인 여부 확인 등) -> Handler(action controller), buisnesslog..

📑 SpringCollection_국비Day82

[ 스프링으로 Collection을 만들어서 주입해보기 ] 생성자 주입 방법을 사용한다면, 기본 생성자와 오버로드 생성자를 그리고 클래스내의 멤버 변수가 하나라도 있다면 게터/세터 메서드는 반드시 생성해야 한다. 세터 주입방법을 이용한다면 게터/세터메서드를 반드시 생성해야 한다. 필자는 세터 주입 방법을 사용하여 ArrayList를 생성해 주입하는 예시를 보여주겠다. [ ArrayList ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 ..

📑 Spring학습_Day4_AOP

AOP(Aspect Oriented Programming) 관점지향 프로그래밍 Aspect: 어플리케이션의 핵심 기능은 아니지만 어플리케이션을 구성하는 중요 한 요소이고, 부가적인 기능을 담당하는 요소 쇼핑몰에서 물건을 구매하고, 장바구니에 담는 기능은 핵심 기능이라고 할 수 있다. 특정 사용자가 무슨 물건을 사고, 언제 구매를 했고, 낮 시간에는 어떤 연령대가 많이 접속하는지에 대한 정보는 핵심 기능이 아닌 부가적인 기능이다. 굳이 쇼핑몰이 아니더라도 다른 어플리케이션에서도 사용할 만한 정보 즉, 부가적인 기능은 스프링에서 만들어줄테니 핵심적인 기능만을 집중해서 만들도록 지원해주는 것이다. 어플리케이션의 핵심적인 기능에서 부가적인 기능을 분리해서 Aspect 모듈로 만들어서 설계하고 개발하는 방법 OO..

📑 Spring_국비Day81

프레임워크는 기본 틀을 만들어 놓은 상태에서 이 틀과 나의 코드를 조립하여 완성하는 것이다. 따라서 나의 코드를 Spring에서 준비해준 기본 틀과 알맞게 조립하기 위해서는 기본 틀을 이해할 필요가 있다. [ 스프링의 개요 ] Spring 프레임워크는 JavaEE 기반의 어플리케이션 개발을 쉽게 해주는 오픈소스 어플리케이션 프레임워크로, 간단한 자바 객체(POJO : Plain Old Java Object) 를 Spring의 경량(Lightweight) 컨테이너를 통해 생성 및 관리하는 빈(Bean) 으로 처리해준다. Spring이라는 이름의 기원은 전통적인 J2EE를 “겨울”에 빗대어 “겨울” 후의 “봄”으로 새로운 시작을 의미함 Rod Johnson이 창시한 개발프레임워크 EJB가 제공했던 대부분의 ..

📑 Spring 학습_Day3_IoC_DI

기존 자바 코드에서 사용하던 객체 생성방법(main2)과 스프링에서 사용하는 객체 생성 방법(main)을 비교해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package t_tok01; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main2(String[] args) { //기존 자바 코드 HelloWorld hello = new HelloWorld(); hello.setMsg("Hello W..

📑 Spring 학습 Day2_개발환경 구축

Java 설치 JDK 1.8설치 cmd창을 열고 java - version을 입력해보면 설치한 자바의 버전 정보를 확인할 수 있다. STS 설치(https://spring.io/tools) Eclipse + Spring Plugin IDE툴이란 통합 개발환경으로 코딩, 디버그, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경 스프링을 개발하기 위해서는 개발에 필요한 Spring plugin 설치 Eclipse이외의 tool에서도 가능하다. 본인의 OS에 맞는 IDE 버전을 설치 버전이 tools4로 업그레이드 되면서 .jar파일로 바뀌었는데 당황하지 말고 압축을 풀어준다. 그러면 contents.zip파일이 존재하는데 이 파일까지 압축을 풀어주면 실행파일이 나타난다. T..

📑 Spring 학습 Day1_개요 및 특징

[ Spring의 개요 및 특징 ] 스프링 프레임워크 (Spring FrameWork) 프레임 워크는 개발자가 맨 손으로 개발을 시작하지 않도록 기본적인 골조를 제공해주는 것이다. 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로 줄여서 스프링이라고 불린다. 애플리케이션 프레임워크 특정 계층이나, 기술, 업무 분야에 국한되지 않고 전 영역을 포괄하는 범용적인 프레임워크를 뜻한다. 경량급 프레임 워크 단순한 웹 컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용할 수 있다. 이전 세대에서 사용하던 EJB를 주 프레임 워크로 사용할 때 불편했던 점들을 해소했다. 엔터프라이즈 개발에 용이 개발자가 복잡하고 실수하기 쉬운 low level에 대한 관심을 줄이고, 비즈니스 로직(실제 컨트롤러의 역할) 개..