웹/Java에 해당하는 글 4

  1. @Conditional 2025.03.21

    보호되어 있는 글입니다.


  2. [Gradle] --project-prop 옵션으로 특정 파일 제외하여 빌드하기 2025.03.07

    이번에 Swagger를 활용해 API 문서를 작성하면서,개발 서버에서만 쓰이는 내부용 컨트롤러에 아예 접근할 수 없도록 처리할 필요가 있었다. @Hidden, @Profile 등 여러 방법을 찾아 보다 gradle로 아예 파일 자체를 빼고 빌드하기로 했다. https://docs.gradle.org/current/userguide/command_line_interface.html#sec:environment_options Command-Line Interface ReferenceGradle provides several built-in tasks which show particular details of your build. This can be useful for understanding your bu..


  3. 프로파일별로 다른 파일이 실행되도록 세팅하기 2024.08.02

    백엔드를 만들 때, 프로파일을 나눠 빌드시 설정한 프로파일에 따라 기능을 제한해야 하는 경우가 있다.예를 들어, 어떤 편의 기능은 좀 더 상위 프로파일에서만 지원되게 한다던가,같은 메서드를 사용해도 프로파일에 따라 로직이 달라지는 경우가 있을 수 있다. 이런 부분을 구현하기에 앞서 먼저 기본적인 테스트를 해 봤다.어떤 Service에 대한 인터페이스를 두고 각 프로파일별로 구현한 다음,설정된 프로파일에 따라 각 구현된 Service 내의 메서드가 실행되도록 하려 한다. 우선 폴더 구조는 아래와 같이 설정했다.core에 구현할 서비스의 Test 인터페이스를 생성하고, 프로파일의 이름으로 된 디렉토리 내에서 구현할 예정이다.  package com.example.demo.core;public interfac..


  4. *.properties 내 값 enum 클래스로 받아 관리하기 2024.07.26

    지금까지는 서버가 작동되는 환경에 대한 상수를 단순히 String으로만 관리해 왔다.플랫폼 서버 개선을 진행하면서 properties로 해당 환경변수를 받고,또 해당 상수를 서버 내부에 enum으로 관리하여 사용할 수 있는 값을 한정하도록 설정했다. 1. enum 클래스 생성package kr.doodoo.common;public enum ServerMode { WINDOW("WINDOW"), MAC("MAC"), ETC("ETC"); private String mode; ServerMode(String mode) { this.mode = mode; } public String getMode() { return this.mode; } ..