반응형
Spring Boot (스프링 부트) - Runtime에 WAR파일 내부에서 json파일을 읽어서 class에 static하게 저장
<< 환경 >>
Java Open JDK 1.8
Spring Boot 2.4.2
- WAR 실행과 동시에 json형태 정보를 static하게 가지고 있게 해야할 필요 (DB사용 X)
- 조건을 충족하는 경우에 해당 정보를 사용할 수 있도록 설정
1. static 정보에 접근
2. 권한 생성하여 권한 조건에 따라 메뉴 정보 포함
stream 활용하여 테스트
[ ReadFileApplicationTests.java ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
package com.test.readfile;
import com.test.readfile.custom.Menu;
import com.test.readfile.custom.factory.MenusFactory;
import jdk.nashorn.internal.ir.annotations.Ignore;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.test.readfile.custom.ConstantsRole.ROLE_ADMIN;
@SpringBootTest
class ReadFileApplicationTests {
Logger log = LoggerFactory.getLogger(ReadFileApplicationTests.class);
@Test
void contextLoads() {
}
@Test
void testMenusFactoryWithStream() {
fillMenusWithStream();
}
private void fillMenusWithStream() {
ArrayList<Menu> menuArrayList = new ArrayList<>();
if (menuArrayList == null || menuArrayList.size() == 0) {
menuArrayList = (ArrayList<Menu>) MenusFactory.getTempMenus().get("menus").stream()
.filter(menu -> Objects.nonNull(menu))
.filter(menu -> menu.authority.equals(ROLE_ADMIN))
.collect(Collectors.toList());
}
log.info("-------------------------------------------------");
log.info("menuArrayList Result: " + menuArrayList.toString());
log.info("-------------------------------------------------");
}
}
|
cs |
반응형
'스프링 (Spring) > Spring Boot' 카테고리의 다른 글
[Spring Boot 실습 #4] 초기 데이터 생성 - CommandLineRunner 활용 (2) (0) | 2021.05.02 |
---|---|
[Spring Boot 실습 #4] 초기 데이터 생성 - CommandLineRunner 활용 (1) (0) | 2021.05.02 |
[Spring Boot 실습 #3] Runtime에 WAR파일 내부 json 파일 읽기 (2) - 테스트 (0) | 2021.01.20 |
[Spring Boot 실습 #3] Runtime에 WAR파일 내부 json 파일 읽기 (1) (0) | 2021.01.20 |
[Spring Boot 실습 #2] undertow - HTTP method 제한 (0) | 2020.12.24 |