Spring

Spring/SpringFramework

Spring MVC 레거시 프로젝트 업그레이드 part3

신규 filter 추가기존에 properties를 통해 직접 controller를 매핑하는 방식과 if문을 통해 분기처리를하는 굉장히 난잡한 방식을 사용했다..기존 Controller@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) { String requestName = null; // 요청 명 ModelAndView mav = new ModelAndView(); // 기본 뷰어 mav.setViewName("common/error"); try { requestName = CommonUtil.getURItoFileName(request..

Spring/SpringFramework

Spring MVC 레거시 프로젝트 업그레이드 part2

이제 기본적인 환경 구성 및 톰캣구동까지는 마무리했으니 소스를 테스트하고 수정진행했는데 노가다가 너무 많다..URL Mapping 수정기존 Properties 및 XML 을 통해 수동으로 매핑해주던 매핑 형태를 spring 4버전대에서 제공하는 형태에 맞춰 변경이 필요하다.아래는 기존 url매핑 프로퍼티의 일부… 최악이다 진짜#url mapping properties/getPinNo.do=externPinController/checkStatus.do=externPinController/cancelPinNo.do=externPinController기존 url properties제거 후 WebMvcConfig 설정 및 어노테이션을 통한 request매핑으로 변경기존에 요청받는 매핑이 GET, POST 등 M..

Spring/SpringFramework

Spring MVC 레거시 프로젝트 업그레이드 (feat. Java8 + Spring 4.3 + Gradle )

이전포스팅대로 tls문제로인해 미뤄왔던 모바일쿠폰의 버전업그레이드를 진행해야할 상황이 왔다..너무 오래된 프로젝트라 한참전에 지원종료된 spring2.5에 java는 7버전이고 tomcat도 보안이슈로 사용하면 안되는 7버전대였다.. 엄청난 대공사예정.. 혼자 해야하기때문에 시간도 많이 소요될것으로 예상된다. 기존 개발환경jdk : 1.7 (1.7.0_79)spring framework : 2.5tomcat : 7라이브러리관리 : 직접 업데이트ORM : ibatis 업그레이드 할 버전jdk : 1.7 (1.7.0_79) → java1.8spring framework : 2.5 → spring framework4.3.xtomcat : 7 → tomcar8.5 or tomcat9library : gradle..

Spring

SSLHandshakeException: No appropriate protocol

고객사에서 온프레미스 서버를 AWS 클라우드로 이관하면서 테스트 요청이 왔다.신규 도메인으로 발급요청시 오류 발생javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 개발환경java : 1.7 (1.7.0_79)웹서버 : nginxtomcat : 7 ERRORAllow unsafe renegotiation: falseAllow legacy hello messages: trueIs initial handshake: trueIs secure renegotiation: falseIgnoring disabled protocol: TLSv1.1No avai..

Spring/SpringBoot

[SpringBoot] Interceptor 설정하기

Interceptor Interceptor : 요청에 대한 작업 전/후로 가로챈다. Filter와 다르게 DispatcherServelt이 컨트롤러를 호출하기 전, 후로 끼어들기 때문에 Spring context영역 내부에서 controller에 관한 요청과 응답에 대해 처리. HandlerInterceptor 를 구현하여 사용하며 preHandle,postHandle,afterCompletion 메서드를 구현하여 사용가능하다. preHandle : 컨트롤러 실행 전 postHandle : 컨트롤러 수행 후 결과를 뷰로 보내기 전 afterCompletion : 뷰의 작업까지 완료된 후 수행 WebConfing 설정 interceptor 사용 설정은 아주 간단하다 addInterceptor 를 통해 생성..

Spring/SpringBoot

[SpringBoot] @WithSecurityContext 커스텀하기

WithSecurityContext 테스트 코드를 짜면서 스프링 시큐리티 로그인정보를 필요로 하는 경우가 있는데 @WithMockUser, @WithUserDetails 를 사용하여 인증된 유저를 바탕으로 테스트가 진행가능하다. 하지만, 나의 경우 WithSecurityContext를 커스텀하여 userDetails를 구현한 Member객체로 사용하기 위해 아래와 같이 어노테이션을 추가함 WithMockMember @Retention(RetentionPolicy.RUNTIME) @WithSecurityContext(factory = WithSecurityContextFactoryImpl.class) public @interface WithMockMember { long id() default 1L; St..

Spring/SpringBoot

[Spring Boot] @ConfigurationProperties

@ConfigurationProperties @Value 는 단일값을 주입하기에 적당하다. @ConfigurationProperties 를 통해 값을 주입할 경우 RelaxedBinding이 적용된다. RelaxedBinding ex) resources_url → resourcesUrl을 동일 키값으로 판단 build.gradle implementation 'org.springframework.boot:spring-boot-starter-parent' application.yaml ## config spring: config: import: - classpath:/config-properties.yaml config.yaml site : url: localhost:8080 resources_url: /r..

Spring/SpringBoot

[Spring Boot] Spring Security 6버전 셋팅

spring security 버전이 6로 업그레이드 되면서 셋팅 방법도 일부 변경되었다. Build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.2.2' id 'io.spring.dependency-management' version '1.1.4' } group = 'com.hy' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { annotationProcessor ..

Bogass
'Spring' 카테고리의 글 목록