본문 바로가기

반응형

Spring

(7)
[Spring] Mysql 연동 시 application.yml 이슈 gradle 기반의 Spring boot 프로젝트 세팅 시 아래 두 가지를 진행해야한다. 1. build.gradle 에 Mysql 의존성 추가 2. application.yml 에 DB connection 정보 추가 나의 경우에는 2번째에서 계속 빨간 줄로 남아있었다. 검색 결과 Spring Boot 2.7.8 이후로는 mysql-connector-java 의존성이 아닌 mysql-connector-j 의존성을 추가해주면 된다고 한다. dependency { ... runtimeOnly 'com.mysql:mysql-connector-j' } reference - https://luvstudy.tistory.com/221 - https://velog.io/@letgodchan0/Spring-boot-M..
[Spring] MVC pattern & Front controller Servlet과 JSP의 한계 Servlet 사용 시 아래와 같이 뷰 화면을 위한 HTML을 만드는 작업이 자바 코드에 섞여 복잡했다. PrintWriter w = response.getWriter(); w.write(""); w.write(""); w.write(" "); ... JSP를 사용하면 뷰를 생성하는 HTML 작업은 깔끔해지며, 중간중간 동적으로 변경이 필요한 부분에만 자바 코드를 적용했다. 하지만 복잡한 화면의 경우 비즈니스 로직이 길어져 유지보수가 어렵다. id username age 따라서 비즈니스 로직은 Servlet 처럼 다른곳에서 처리하고, JSP는 목적에 맞게 화면을 그리는 일에 집중하는 MVC 패턴이 등장했다. MVC 패턴 Model View Controller 패턴으로, 위의..
[Spring] 정적 리소스 미출력 오류 해결 프로젝트 진행 중 잘 출력되던 이미지가 엑박으로 출력되는 오류가 발생했다 관련해서 찾아보니, 이미지 폴더에 대해 Spring Security 처리를 해주지 않아 발생한 문제였다. OAuth 로그인 기능을 추가하며 홈 화면 이외의 경로에 대해 보안 처리하도록 설정이 되어있었는데, 이미지 폴더는 보지 않도록 처리해주었다. 이미지 폴더 경로는 /src/main/resources/static/images/** 이다. @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/", "/index", "/login/**", "/images/**").permitAll() .a..
[Spring] Spring Boot + Spring Security OAuth2 Client + Kakao Login - 2 Spring Security OAuth2 Client 라이브러리 사용 시 access token 을 갱신하는 부분에 대한 언급이 없어 찾고 찾다가 내부적으로 갱신된다는 부분을 찾아서 혹시 헤메고 있는 다른분이 있으시다면 도움이 되고자 정리해본다 ! 권한 부여 타입이 authorization_code, password 일 때만 액세스 토크 응답에 OAuth2RefreshToken 이 들어있다. 만약 OAuth2AuthorizedClient.getRefreshToken() 을 사용할 수 있고 OAuth2AuthorizedClient.getAccessToken() 이 만료됬다면 RefreshTokenOAuth2AuthorizedClientProvider 가 토큰을 자동으로 갱신한다. 레퍼런스 페이지에서 위와 ..
[Spring] Spring Boot + Spring Security OAuth2 Client + Kakao Login - 1 0. 의존성 추가 먼저 프로젝트에 사용할 라이브러리들의 의존성을 추가한다 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' implementation 'org.springframework.boot:spring-boot-star..
[Spring] Spring 이란? Spring 도입 2000년대 초반에 EJB (Enterprise Java Bean) 표준을 사용했지만, EJB에 의존적으로 짜게 되어 코드가 복잡해졌으며 재기동에 시간이 많이 소요되고 개발하기 복잡했다. POJO (Plain Old Java Object) 오래된 방식의 간단한 자바 오브젝트를 다시 사용하자 ~ 는 말이 나올 정도였다. 위의 어려움으로 실무 개발자 둘이 Spring과 Hibernate (ORM 기술관련) 오픈 소스를 만들게 된다. Hibernate가 압도적으로 사용되자 이걸 거의 동일하게 가져와 자바표준 JPA가 만들어 진다. JPA의 구현체로는 Hibernate, EclipseLink 등등이 있고 80%이상 Hibernate를 사용한다. 자바는 객체지향 언어지만, EJB는 개발할수록 E..
[Spring] JUnit Test 시 로그 안남는 문제 해결 JUnit Test 중 성공/실패 여부는 JUnit tab 에서 확인가능한데, Console 창에 로그가 안남아 상세 로그 확인이 되지 않았다. 보통 log4j.xml이 /src/main/resources 아래에 생성되는 것 같은데 내 프로젝트엔 없었다.. 위의 경로에 log4j.xml 파일을 추가했고, 정상적으로 로그가 나왔다 !

반응형