반응형

spring boot 34

[spring boot] 무중단 배포 - application.properties

1. 개발 환경intellijjava 17spring boot 3.2.0 2. dependency 추가implementation 'org.springframework.boot:spring-boot-starter-actuator'implementation 'org.springframework.cloud:spring-cloud-starter' 3. application.properties에 refresh 추가management.endpoints.web.exposure.include=refresh 4. @ConfigurationProperties Class 생성import lombok.Getter;import lombok.Setter;import org.springframework.boot.context...

back end/java 2025.05.02

[JUNIT] Spring Test MockMvc의 한글 깨짐 처리

Spring에서 JUNIT 테스트 코드를 작성할 때 아래와 같이 filter를 추가하면 한글 사용을 할 수 있다.CharacterEncodingFilter("UTF-8", true)  @AutoConfigureMockMvc@SpringBootTestpublic class ApiControllerTest { private MockMvc mockMvc; @Autowired private WebApplicationContext ctx; @BeforeEach public void setup() throws Exception { this.mockMvc = MockMvcBuilders.webAppContextSetup(ctx) .addFilters(new CharacterEncodingFil..

back end/java 2025.03.10

spring boot utf8 설정

한국 개발자의 가장 큰 비애는 한글인데요 개발을 하다 보면 한글이 깨지는 경우가 정말 많습니다. 한글이 안깨지게 하기 위해 character를 UTF-8로 설정을 해야 하는데요. SpringBoot에서는 아래와 같이 간단하게 설정 파일(application.properties 또는 application.yml)을 통해 설정할 수 있습니다. 아래는 application.properties 기준입니다. spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true

웹 개발 2021.07.25

spring boot properties 암호화 (Jasypt)

Spring boot로 개발을 하다 보면 application.properties나 application.yml 등의 설정 파일을 사용합니다. 이 설정 파일에는 서버 연결 정보, DB 연결 정보 등과 같은 민감한 정보가 있을 수 있습니다. 그래서 실무를 하다보면 민감한 정보는 암호화하지 않게 되면 보안진단 시 문제가 발생합니다. 따라서 민감한 정보는 암호화를 해야 하는데, Spring boot와 연동해서 쉽게 사용할 수 있는 것이 Jasypt 라이브러리(오픈소스) 입니다. 사용방법은 다음과 같습니다. (Spring boot 이외에도 사용 가능하지만, 여기서는 Spring boot에서 사용하는 방법을 기록합니다.) 1. Dependency 추가 1.1 Maven pom.xml에 아래와 같이 추가합니다. c..

웹 개발 2021.07.11

[Eclipse] Spring boot 프로젝트에서 war 파일 만들기

SpringBoot에서 war 파일을 만들기 위해서는 @SpringBootApplication에서 SpringBootServletInitializer를 확장해야 합니다. 그 방법은 다음과 같습니다. pom.xml의 packaging을 war로 변경합니다. war​ pom.xml에 아래 dependency를 추가 org.springframework.boot spring-boot-starter-tomcat provided ​ @SpringBootApplication 애노테이션이 있는 java 파일에 다음과 같이 SpringBootServletInitializer를 추가합니다. import org.springframework.boot.SpringApplication; import org.springframew..

웹 개발 2021.07.04

SpringBoot 에서 hibernate.dialect 에러 발생. (로컬서버 실행 안되는 현상)

Spring Boot에서 프로젝트 실행 시 아래와 같은 에러 메시지 발생하며 실행되지 않는 경우가 있습니다. Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set 이 경우 application.properties에 DB에 맞는 SQLDialect를 설정해주시면 됩니다. 예를 들어 PostgreSQL의 경우 다음과 같습니다. spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect 이렇게 설정하고 다시 실행을 하면 정상적으로 로컬서버가 실행됩니다.

웹 개발 2021.07.04

Spring Boot java.lang.NoClassDefFoundError: javax/servlet/Filter

Spring boot에서 프로그램을 run 할 때 다음과 같은 메시지가 발생하는 경우가 있습니다. java.lang.NoClassDefFoundError: javax/servlet/Filter 해결방법은 gradle 또는 maven에서 spring-boot-starter-tomcat의 scope를 provided에서 compile로 바꾸면 됩니다. 1. maven 아래와 같이 provided 를 주석처리합니다. org.springframework.boot spring-boot-starter-tomcat 2. gradle providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") 위의 코드를 아래와 같이 변경합니다. compile("org..

웹 개발 2021.05.16

Spring boot에서 JUnit 사용 시 Autowired가 동작하지 않는 현상

Spring boot 환경에서 Controller의 Test를 만드는 중, @Autowired된 클래스가 null이 되는 현상이 발생했습니다. 해결방법은 다음과 같습니다. 1. 개발 환경 1) OS : Windows 10 2) 개발 툴 : IntelliJ 3) 빌드 툴 : Maven 4) java version : openjdk 1.8 5) spring boot version : 2.3.1 5) JUnit version : 4 2. 테스트 코드 @AutoConfigureMockMvc @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) public class MyTest { @Autowired MockMvc mockMvc; @Test ..

웹 개발 2021.03.08

Spring boot JPA에서 DB 예약어를 column으로 사용하는 방법

안녕하세요 노루아부지 입니다. 이번에 새로운 java 프로그램을 JPA로 개발하던 중, 예약어로 인해 에러가 발생했습니다. 저희 회사에서는 mssql, mariadb, oracle 이렇게 3개의 Database를 사용하는데요. 문제는 이전 담당자가 테이블의 칼럼명으로 "type"이라는 단어를 사용을 한 것이었습니다. 이 단어는 oracle의 예약어인데, 이미 고객사에 설치가 된 상황이어서 칼럼명을 이제 와서 바꿀 수 없는 상황이었습니다. (기존에는 Mybatis 사용) Spring boot JPA를 사용하며 Database 예약어를 column으로 사용하는 방법을 찾아보았습니다. (물론 예약어를 사용하지 않는 것이 제일 좋은 방법입니다.) 목차 1. Database 별 예약어 2. Spring boot ..

Spring 버전 확인하는 방법

Spring Boot를 사용하면 Spring 버전이 바로 눈에 보이지 않습니다. 이 경우 Spring Boot에서 사용하는 Spring의 버전을 알고 싶을 경우 다음과 같은 방법들이 있습니다. Spring 버전 확인하는 방법 1. getVersion() 메서드\ 사용 String version = org.springframework.core.SpringVersion.getVersion(); System.out.println("version : " + version); 현재 제가 테스트 한 Spring Boot 버전은 2.4.1인데요 아래와 같이 5.3.2로 표시됩니다. 2. Dependencies 확인 개발을 위해서 Maven 또는 Gradle을 사용하셨을 텐데요. Maven/Gradle의 Depende..

웹 개발 2021.01.01
728x90
반응형
loading