본문 바로가기

웹개발/스프링 프레임워크

스프링부트 개발과 운영 분리 개발과 운영을 분리하는 방법 입니다. 기본적으로 스프링 부트의 설정파일은 src/main/resources/application.properties 의 설정 파일을 통해서 하게 되는데요 먼저 개발과 운영 데이터 베이스가 다르기 때문에 데이터 베이스와 로그 수준만 분리해 주도록 하겠습니다. 위의 사진처럼 application-dev.properties , application-prod.properties 각 파일을 생성을해서 개발시에는 첫번째파일을 운영시에는 두번째 파일을 읽어서 데이터 베이스를 연결하도록 구성하였습니다. 각 설정 파일은 디비 정보와 로그 레벨을 담고 있습니다. 마지막으로 해당 파일들을 실행해줄 설정을 해줘야 합니다. Run < Run Configurations 에 들어가서 Spring b.. 더보기
spring security curl 로그인 (스프링시큐리티 curl 로그인) 1. login (remember me) curl -i -X POST -d id=id -d password-1234 -c cookies.txt http://localhost:8080/login/loginProcessing curl -i -X POST -d id="아이디" -d password-비번 -c cookies.txt http://localhost:8080/"스프링시큐리티 로그인처리 설정한 url 입력" 2. curl -i -X GET -b cookes.txt localhost:8080/file/1 더보기
스프링부트 정적리소스 버저닝 jsp와 thymeleaf(static resource versioning) 스프링부트에서 정적자원 버저닝 방법은 두가지가 있다. application.properties 파일을 통해서 간단히 설정할 수 있는데 그건 thymeleaf만 해당하는거 같다.. 나는 jsp를 사용하는데 jsp의 경우는 추가로 bean을 등록해줘야 사용가능하다(이거땜에 3주는 허비한듯) 1. application.properties # 1. ex) /css/spring-2a2d595e6ed9a0b24f027f2b63b134d6.css spring.resources.chain.strategy.content.enabled=true spring.resources.chain.strategy.content.paths=/** # 2. ex) /v12/js/lib/mymodule.js spring.resources... 더보기
스프링 시큐리티 curl 로그인 Spring security REST API Login @Override protected void configure(final HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/login", "/login/loginProcessing").permitAll() .anyRequest().authenticated() .and() .formLogin() .loginProcessingUrl("/login/loginProcessing") .permitAll() .loginPage("/login") .usernameParameter("hrId") .passwordParameter("password") .defaultSuccessUrl("/activity/calendar") .fa.. 더보기
스프링부트 배너 및 파비콘 설정(초 간단) 파비콘(영어: favicon, 'favorites + icon') 또는 패비콘이란 인터넷 웹 브라우저의 주소창에 표시되는 웹사이트나 웹페이지를 대표하는 아이콘이다. - 파비콘 설정 스프링 부트의 기본 파비콘인 나뭇잎 모양을 원하는 파비콘으로 변경 저의 경우 팔근육 아이콘 파일을 검색하여 받았으나 원하는 이미지를 파비콘으로 삽입 하기 위해서는 ICO파일로 변환이 필요합니다. http://icoconvert.com/ 웹에서 간단히 ICO파일로 변환 가능한 사이트 입니다. 원하는 이미지를 선택하여 업로드 하면 ICO파일로 받을 수 있습니다. 이제 원하는 파비콘ICO 파일을 위의 경로 src > main > resources > static 경로에 favicon이란 이름으로 놓고 서버를 재시작 하면 원하는 파비.. 더보기
Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map '~~~~Controller' method Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map '~~~Controller' method 이런 오류일 때는 @RestController public class SessionController { @RequestMapping(value="/session", method = RequestMethod.GET) String uid(HttpSession session, Model model, @RequestParam HashMap param) { String sUser = (String) session.getAttribute("user"); return .. 더보기
STS에서 sql파일 생성하기 STS에서는 이클립스와 다르게 .sql을 생성 할 수가 없다. 토드 나 다른 것들을 사용할 수도 있지만 STS에서도 똑같이 할 수 있습니다. 1. Market Place > SQL Development Tools 다운 2. dependencies connector 추가 - build.gradle (mysql) compile 'mysql:mysql-connector-java:6.0.6' 더보기
Spring Boot 재기동 없이 소스코드 적용 Spring Boot 내장 톰캣 사용 하여 jsp파일 고치더라고 항상 재기동을 해줘야 하는데 이를 해결해 주기 위해서 Devtool을 사용한다. 1. depencies 추가 - build.gradle compile("org.springframework.boot:spring-boot-devtools") 2. application.properties에 설정 spring.devtools.livereload.enabled=true 더보기
Lombok 설치 Java 코드에서 불필요한 코드를 제거하기 위해 사용할 수 있는 JAR(Java Archive) 파일이다.POJO(Plain Old Java Object), model, VO(Value Object) 등이라 칭하는 Java Bean을 생성할 때 getter, setter, toString 메서드들을 컴파일시에 대신 생성해준다.개발시간이 단축될 뿐만아니라 코드 수 또한 줄어들고, 중복되는 부분이 줄어들어 코드가 더욱 명확하게 표시된다. 1. 다운로드 : https://projectlombok.org/download.html 2. 다운로드 받은 파일 Java로 실행(마우스 우클릭으로) 2. STS.exe 파일을 찾아서 선택해 준다(STS 받아서 한번은 실행을 한 후 진행 해야한다) 3. STS.ini 파일에.. 더보기
bower 추가! Spring Boot 프로젝트 만들기 - 1편Spring Boot 프로젝트 만들기 - 2편Spring Boot 프로젝트 만들기 - 3편 Gradle + MyBatis + MariaDB 를 이용한 스프링 부트 프로젝트를 생성 해보았고 이번엔 프로엔트 패키지 관리 툴인 Bower를 설치하여 적용 하려고 한다. 핫바리 개발자로서 아직 크게 필요성을 느끼진 못하나 gulp or grunt 를 이용하여 의존성도 해결하고 라이브러리 버전 관리도 가능하니 이부분 까지 해봐야 할 것 같다. 1. node.js 다운 로드 https://nodejs.org/ko/download/ 2. 설치 후 cmd 창에 node -v 3. bower 설치 npm install -g bower 4. git 설치 https://git-sc.. 더보기