본문 바로가기

springboot7

Banner.txt - Spring 실행 시 Terminal 커스터마이징(방법 및 사이트 링크 첨부) 프로젝트하면서 깨알 즐거움 찾기! 스프링 실행 시 터미널에 원래는 Spring Boot라고 뜨는 배너를 나만의 방식으로 커스터마이징 할 수 있다. 아래 링크는 원하는 텍스트를 위와 같이 그림으로 표현해주는 사이트이다. 나는 rounded를 선택했고, 눈내리는 것처럼 *을 추가해주었다. https://devops.datenkollektiv.de/banner.txt/index.html Spring Boot banner.txt generator devops.datenkollektiv.de src/main/resrouces 하위에 banner.txt 파일을 생성하고 내용을 입력해주면 된다. 내용은 위 사이트에서 만들어진 텍스트를 그대로 복붙하면된다. Spring Boot 버전도 함께 노출하고 싶다면 아래와 같이.. 2023. 7. 23.
[Swagger3] 1. springdoc-openapi를 이용한 Swagger3 설정하기(+Swagger 옵션) Swagger 기본 설정 및 Swagger에서 제공하는 기본 옵션에 대해 알아보자! 1) build.gradle dependencies 안에 openapi-ui 추가 //swagger implementation 'org.springdoc:springdoc-openapi-ui:1.7.0' 2) application.yaml springdoc: api-docs: path: /api-docs# api-docs url: localhost:8080/api-docs groups: enabled: true# group 허용 swagger-ui: path: /index.html# swagger url : localhost:8080/swagger-ui/index.html enabled: true groups-order:.. 2023. 5. 5.
[트러블 슈팅] Reflection 객체 내 @Autowired NullPointerException 발생 1. 이슈 Reflection으로 동적 생성한 객체 내 @Autowired된 변수 접근 시 NPE(NullPointerException) 발생 2. 상세 내용 Reflection을 이용하여 객체를 동적으로 생성. -> method.invoke를 이용하여 객체 내 메서드를 실행 -> InvocationTargetException 발생. -> 원인을 확인해보니 실행된 메서드 내에서 @Autowired된 변수에 접근 시 NPE 발생 문제가 된 코드 Class targetClass = Class.forName(className); Object instance = targetClass.getDeclaredConstructor().newInstance(); Method method = targetClass.getD.. 2022. 10. 8.
[AWS S3] S3에 업로드한 이미지가 열리지 않고 다운로드 될 때 이슈 사이드 프로젝트를 진행 중에 S3, Cloudfront를 연결해서 이미지를 업로드하는 작업을 진행 중인데, 업로드한 이미지가 열리지 않고 다운로드되는 문제가 발생했다. 해결법 - Content-Type이 설정되지 않아서 발생하는 문제라고 한다. 사실 S3에서 직접 확인해볼 때 유형 png로 제대로 뜨는데 머가 문제인지 정확히 모르겠음ㅠㅠ 아무튼, 나는 Content-Type만 설정해줬는데도 바로 해결이 됐는데, 그래도 안된다면 Content-Disposition까지 inline으로 설정해보면 될 것 같다. PutObjectRequest putObjectRequest = PutObjectRequest.builder() .bucket(bucket) .key(uploadPath) .contentType(.. 2022. 6. 3.
[VSCode] terminal color setting (+Spring error/warn 색깔 구분하기!) 개발할 때 삶의 질 상승시키기!! VSCode 사용 시 별도의 설정을 해주지 않으면 터미널 글자 색상이 기본적으로 흰색으로 나온다. VSCode와 Spring Boot 환경에서 로그 레벨별로(ERROR, WARN, INFO) 구분해서 보고 싶을 때 설정하는 방법을 정리해보았다. 1. VSCode 자체 터미널 색상 설정하기 1) 왼쪽 상단 → Preferences → Settings (단축키 : Command + , ) 2) color customization 검색 → Edit in settings.json 클릭 3) 입력 { "workbench.colorCustomizations": { "terminal.background":"#1D2021", "terminal.foreground":"#ffffff", .. 2022. 5. 5.
[Project] Naver SmartEditor 2.0으로 게시판만들기 - 2. MySQL/Spring Boot 연동하기 1탄에서는 Smart Editor 2.0 버전을 설치하여 단순 적용해보았다. 이번에는 MySQL과 Spring Boot을 연동하여 작성한 게시글을 DB에 전송해보려고 한다. 블로그용으로 새로 샘플을 만들고 JPA로 바꾸다보니 일이 생각보다 커지는건 기분탓이겠지ㅎㅎㅎ.. [Naver] SmartEditor 2.0으로 게시판만들기 - 1. 에디터 적용 다시 생각해도 힘든 기억이 떠오르는 네이버 스마트 에디터 적용기... 개발하면서 이것만큼은 무조건 블로그에 정리하겠다고 다짐했다. 프로젝트를 마치고 이제서야 겨우 정리할 시간이 생겨 beforb.tistory.com * 목차 1. 스마트 에디터 2.0으로 게시판 만들기 - 스마트에디터 글 작성하기(Frontend) 2. 스마트 에디터 2.0으로 게시판 만들기 .. 2021. 11. 4.
JPA란? (Spring Boot + JPA 환경설정 및 사용법) JPA란? Java Persistance API. 자바의 ORM(Object-Relational Mapping) 표준 기술이다. 즉 자바의 객체와 관계형 DB를 매핑하는 기술이다. Hibernate Hibernate란? ORM Framework 중 하나이다. JDBC를 이용하다가 MyBatis를 이용하면 훨씬 편하고 코드가 간결하며 유지보수가 편하다. 마찬가지로 Hibernate도 MyBatis에 비해 코드가 훨씬 더 간결하며 객체지향적이다. 장점 1. 생산성 2. 유지보수 단점 1. 어렵다. 2. 성능상 문제가 있을 수 있다. 구글 지역별 비교 분석에서 볼 수 있듯이 한국에서는 MyBatis를 많이 사용하지만 전세계 개발자들은 Hibernate를 많이 사용한다. 사용법 MyBatis나 기존에 자바에서 .. 2020. 3. 18.
반응형