분류 전체보기 (222) 썸네일형 리스트형 JAR 파일 구조 Spring-boot-loader 모듈은 실행가능한 jar와 war파일을 생성해준다. maven이나 gradle을 사용한다면 쉽게 생성할 수 있다. 세부적으로 어떻게 동작하는지 구체적으로 알 필요는 없다. JAVA는 중첩된 jar파일을 로드하는 기준을 제공하지 않는다. 따라서 스프링부트가 지원하는 방법은 아래와 같다. 실행가능한 JAR파일 구조 example.jar | +-META-INF | +-MANIFEST.MF +-org | +-springframework | +-boot | +-loader | +- +-BOOT-INF +-classes | +-mycompany | +-project | +-YourClasses.class +-lib +-dependency1.jar +-dependency2.jar 어.. LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. jar로 실행할 때 발생하는 log에러 logback라이브러리가 중복되면 발생한다. gradle.build에서 제외시켜줘야 한다. configurations { all { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' exclude group: 'ch.qos.logback', module: 'logback-classic' exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j' } } javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplication IDE마다 설정 부분이 다르겠지만 intellij 기준으로 - Edit Configurations - Project 선택 - Enable launch optimization, Enable JMX agent 체크해제 하면됨 SpringBoot logback 설정 SpringBoot에서는 기본적으로 Commonslogging에 대한 구현가능성은 열어두고 있다. 내부적으로 slf4j를 지원한다. jar console 출력시 옵션 주는 방법 java -jar ***.jar --debug --debug와같은 형태로 옵션을 주면 된다. 로그 레벨은 다섯단계로 나뉘어진다. trace debug info warn error 밑으로 갈수록 심각한 오류로 분류된다. 디버그모드로 실행된다. info로 설정시 info로그레벨로 console에 출력된다. application.properties에 설정하는 방법 debug=true 로 주면 debug모드로 실행할 수 있다.(default > info) application.properties debug=true trace모드로 서버를.. SpringBoot SpringCloudGateway 초기세팅 Intellij ultimate 버전을 사용하면 프로젝트 생성시 Spring Initializr가 있다. 그 기능으로 손쉽게 Spring Boot를 시작할 수 있다. Community버전을 사용중이라면 아래 링크에서 프로젝트를 손쉽게 만들 수 있다. 프로젝트 시작 start.spring.io/ dependencies에 gateway검색 후 추가해서 Generate하면된다. IntelliJ에서는 File > New > Project 선택 후 Spring Initializr를 선택하면 된다. SDK 버전을 선택한다. 기본적인 프로젝트 세팅을 설정해준다. maven과 gradle도 선택할 수 있다. 요즘 대세는 gradle이라고 한다. Dependencies에서 Spring Cloud Routing > Gat.. 비밀번호 해시 솔트 요즘 트렌드는 비밀번호를 DB에 저장하지 않고 해시해서 사용자가 입력한 비밀번호와 저장된 비밀번호의 해시값이 일치하는지 확인하는 것이라고 한다. 일명 단방향 해시 만드는 방법을 예를 들어 비밀번호가 qwer1234 라면 해시를 하면 4d4f26369171994f3a46776ee2d88494fb9955800a5bb6261c016c4bb9f30b56 이런 느낌의 해시값이 나온다. String password = "qwer1234"; MessageDigest hash = MessageDigest.getInstance("SHA-256"); hash.update(password.getBytes()); byte byteData[] = hash.digest(); StringBuffer sb = new StringBu.. 이전 1 ··· 25 26 27 28 다음