스프링

DEV book/토비의 스프링 3.1

[토비의 스프링 3.1] 1장 오브젝트와 의존관계 (1) - 전략 패턴을 이용한 DAO 클래스 리팩토링

스프링이란 ? Spring Container(스프링 컨테이너 = Application Context)를 기본 틀로 한다. 스프링은 표준 자바 엔터프라이즈 플랫폼에 기반을 두고 있다. 스프링 프레임워크에서 제공하는 프로그래밍 모델은 IoC/DI, 서비스 추상화, AOP가 있다. 왜 스프링을 사용하는가 ? 단순함 POJO(Plain Old Java Object) 프로그래밍으로 객체지향적인 개발 모델을 구현한다. POJO 프로그래밍이란, 컨벤션이나 프레임워크에 종속되지 않는 단순한 Java 오브젝트를 사용한 프로그래밍을 의미한다. 유연함 많은 Third Party의 지원으로 라이브러리가 많고, 유연성과 확장성이 뛰어나다. 예를 들어서 버전 호환성 문제를 겪거나 아키텍쳐를 대거 수정해야하는 등의 불필요한 트러블..

Framework/Spring

[2주차] Mustache를 이용한 게시글 CRUD 화면 및 기능 구현

템플릿 엔진(Template Engine) 입력 자료를 가공하여 결과물(웹 문서)을 출력하는 소프트웨어를 의미한다. 웹 템플릿 엔진에는 두 가지 종류가 있는데, 1) 서버 템플릿 엔진 (Server Side Template Engine) : 서버에서 가져온 데이터를 Template 엔진에 넣어서 HTML을 생성, 클라이언트에 전달해주는 역할을 한다. ex) JSP(Java Server Page) : 서버 템플릿 엔진을 이용한 화면 생성. 서버 단에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달한다. 2) 클라이언트 템플릿 엔진 (Client Side Template Engine) HTML 형태로 코드를 작성, 동적으로 DOM(Documnet Object Model) ..

Framework/Spring

Spring 첨부파일 다운로드 코드 리팩토링

2022.03.05 - [Web Development/스프링\JPA] - Spring 첨부파일 다운로드 구현하기 Spring 첨부파일 다운로드 구현하기 첨부파일이 이미지인 경우, 클릭했을 때 화면에 크게 원본 파일을 넘겨줘야 하고, 일반 첨부파일인 경우에는 다운로드를 기본으로 실행해야 한다. MIME 타입이란? https://developer.mozilla.org/ko/docs/Web/ mingyum119.tistory.com 위의 게시물의 코드를 리팩토링한 과정을 기록해보겠다! 참고한 사이트 : todyDev :: Spring 개발 - 게시판 만들기 #첨부파일 다운로드 (tistory.com) Spring 개발 - 게시판 만들기 #첨부파일 다운로드 이전 게시글에서 파일을 업로드했다면, 이번에는 업로드된..

Framework/Spring

[IBAS] S3 Upload 코드 리팩토링

uploadImageUrl을 String으로 단순히 반환하던 이 코드를, ServerFileService의 구조와 맞추기 위해 리팩토링을 진행해보기로 했다. private Optional convert(MultipartFile multipartFile) throws IOException{ // 디렉토리 경로 수정하기 File convertFile = new java.io.File(System.getProperty("user.dir") + "/" + multipartFile.getOriginalFilename()); if(convertFile.createNewFile()){ try (FileOutputStream fos = new FileOutputStream(convertFile)) { fos.write..

Framework/Spring

Spring 첨부파일 업로드 구현하기

쓰던거 날려서 다시 쓰기 😊 Spring Gradle 환경에서 첨부파일 구현하는 작업을 해보겠다. 프론트 단에서는 Axios를 사용하고 있으므로 JSON 데이터로 반환하는 Response 방식을 따라갈 것이고, Controller에서 Upload를 처리할 수 있도록 테스트까지 진행하려 한다. 1. Configuration 설정 (1) WebConfig AbstaractDispatcherServletInitializer를 상속받아 WebConfig를 구현한다. customizeReegistration을 Override하여 내부에서 MultiPargConfigElement 객체를 만들어주고 파일이 저장될 location, maxFileSize, maxRequestSize, fileSIezThresHold를 ..

Server/Docker

Docker SpringBoot, MariaDB 이미지 빌드하기

Docker에 Spring Image Build 1. SSH 접속 ssh [USER]@[HOSTNAME] -p [PORT] 여기서 HostName, 즉 IP를 다른 단어로 대체하여 생략하고 싶다면! https://offbyone.tistory.com/149 Windows 10에서 hosts 파일 수정하기 hosts 파일을 문자로된 이름을 숫자로 된 IP 주소로 매칭 시켜 주는 정보를 담고 있는 파일입니다. 우리가 인터넷상의 서버에 접속하기 위해서 주로 사용하는 이름은 offbyone.tistory.com 과 같은 도메 offbyone.tistory.com Window의 hosts 파일을 위와 같이 수정하면 된다. 2. Dockerfile 생성 # Start with a base image containi..

Framework/Spring

스프링 부트 MySQL 네이버 클라우드 원격 서버 DB 연결하기

로컬에서 작업하다 팀원 간의 DB 공유가 필요할 것 같아, 네이버 클라우드에서 원격 서버를 파서 DB를 옮기기로 하였다. 윈도우 서버로 구매하였고, 공인IP도 옵션으로 추가하였다 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://공인IP주소:원격서버 MySQL포트/DB이름?serverTimezone=UTC&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=DB비밀번호 spring.jpa.database=mysql spring.jpa.hibernate.ddl-auto=update sprin..

Framework/Spring

스프링 부트 Application 실행 시 MySQL root@localhost Access Denied 오류 해결

Spring Boot 2.4.9 version java 11 Gradle Project Application.properties를 형식에 맞게 잘 작성했고, localhost라 포트 포워딩을 할 필요도 없는데 자꾸 Access denied 관련 에러가 떴다. 2021-09-10 13:23:06.295 INFO 19932 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2021-09-10 13:23:07.854 ERROR 19932 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. java...

MINGYUM
'스프링' 태그의 글 목록