반응형
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. 권한 생성하여 권한 조건에 따라 메뉴 정보 포함
[ ConstantsRole.java ]
1
2
3
4
5
6
7
8
9
10
|
package com.test.readfile.custom;
public class ConstantsRole {
public static final String ROLE_HASVIEW = "ROLE_HASVIEW";
public static final String ROLE_HASLOGIN = "ROLE_HASLOGIN";
public static final String ROLE_ADMIN = "ROLE_ADMIN";
}
|
cs |
[ 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
48
|
package com.test.readfile;
import com.test.readfile.custom.Menu;
import com.test.readfile.custom.factory.MenusFactory;
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 static com.test.readfile.custom.ConstantsRole.ROLE_ADMIN;
@SpringBootTest
class ReadFileApplicationTests {
Logger log = LoggerFactory.getLogger(ReadFileApplicationTests.class);
@Test
void contextLoads() {
}
@Test
void testMenusFactory() {
fillMenus();
}
private void fillMenus() {
ArrayList<Menu> menuArrayList = new ArrayList<Menu>();
if (menuArrayList == null || menuArrayList.size() == 0) {
menuArrayList = new ArrayList<Menu>();
if (MenusFactory.getTempMenus().get("menus") != null) {
for (Menu menu : MenusFactory.getTempMenus().get("menus")) {
log.info("this.parentMenu: " + menu.toString());
if (menu.getAuthority().equals(ROLE_ADMIN)) menuArrayList.add(menu);
}
}
}
log.info("-------------------------------------------------");
log.info("menuArrayList Result: " + menuArrayList.toString());
log.info("-------------------------------------------------");
}
}
|
cs |
반응형
'스프링 (Spring) > Spring Boot' 카테고리의 다른 글
[Spring Boot 실습 #4] 초기 데이터 생성 - CommandLineRunner 활용 (1) (0) | 2021.05.02 |
---|---|
[Spring Boot 실습 #3] Runtime에 WAR파일 내부 json 파일 읽기 (3) - 테스트 (0) | 2021.02.01 |
[Spring Boot 실습 #3] Runtime에 WAR파일 내부 json 파일 읽기 (1) (0) | 2021.01.20 |
[Spring Boot 실습 #2] undertow - HTTP method 제한 (0) | 2020.12.24 |
[Spring Boot 실습 #1] undertow - 에러페이지 처리 문제 (0) | 2020.12.19 |