본문 바로가기
  • A little happiness

Spring34

학습계획 총 5시간 강의 -> 복습 및 실습 총 15시간 소요 목표 하루 3시간 -> 5일까지 완강 23~24일까지 완강 2022. 2. 23.
스프링 부트 중복 실행 문제 문제 : spring boot - 외장 톰캣 실행시 @schedule 어노테이션 사용시 스케쥴러가 두번 도는 문제 발생 해결 : tomcat의 server.xml 설정을 수정한다. appBase : 여러 webapp이 들어가는 부모 디렉토리 docBase : 실제로 동작하는 프로젝트 디렉토리 --> 위 경로로 실행후 /test 폴더가 생성되면 appbase="webapp/test" docBase="/" 로 수정하여 하나만 실행될 수 있도록 한다. ---------------------------------------------------------------- 해결 ----- 톰켓 설정문제에는 이상이 없었고 application.java 와 servletInitalizer.java에서 각각 서블릿을 생성.. 2022. 2. 17.
파일 입출력 구현 1. DB 설계 파일 입출력을 위해서 서버에 저장할 파일명, 원본파일명, 파일경로가 필요하다. 원본파일명은 파일 이름이 중복될 경우 문제가 발생함으로 임의로 파일명을 생성하여, 서버쪽 파일 디렉토리에 저장하게 된다. 파일 경로는 파일 다운로드시 접근해야할 경로가 된다. 2. 입력 구현 로컬에 있는 파일을 multipart형식으로 자바 입출력 스트림을 이용하여 서버에 전송시키고, 그 정보를 DB에 저장한다. 3. 출력 구현 파일 다운로드 url을 fileController의 경로로 설정하여 브라우저에 보여준다. 사용자는 url을 클릭하고, DB에서 파일 경로 정보와 파일 이름정보등을 읽고, 입출력 스트림을 이용하여 multipart형식으로 전송받는다. 2022. 2. 15.
객체 지향 설계와 스프링 스프링 탄생 배경 EJB(enterprise java bean)이 처음 출시되고, 각 분야에서 사용되던 시절, EJB가 무겁고 쓰여야할 다양한 기능들이 불필요하게 많은 생산성을 방해한다고 생각하여 POJO(plain old java object)즉 옛날 순수자바로 돌아가자는 분위기가 개발자들에게 형성됨. 이에 따라 스프링, jpa가 오픈소스로 개발되었다. 스프링의 핵심컨셉 스프링은 객체지향 언어의 강력한 특징을 살려내는 프레임워크이다. 즉, 객체지향의 다형성, solid등의 개발방법론을 적용가능하도록 틀을 정해놓았다. 역할(인터페이스) 구현(클래스)의 구조 객체지향적으로 설계함에 있어서 역할과 구현으로 나누는게 중요하다. SOLID 객체지향 설계 5원칙 SRP 한 클래스는 하나의 책임만 가진다. OCP .. 2021. 11. 13.