Spring
스프링 시큐리티 Oauth2 커스텀 Exception 만들기
@EnableAuthorizationServer public class OAuthConfig extends AuthorizationServerConfigurerAdapter { @Override public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception { endpoints. /* 다른 설정 부분 생략 */ .exceptionTranslator(authorizationWebResponseExceptionTranslator()); } public WebResponseExceptionTranslator authorizationWebResponseExceptionTranslator() { return new D..
Spring 페이징 처리 중 MyBatis 에러
//컨트롤러 List userList = userService.findAllPaging(startIndex, page); ...// 서비스 , 레포지토리 ... //매퍼 @Select("SELECT * FROM user limit #{startIndex}, #{pageSize}") List selectPaging(int startIndex, int pageSize); DB는 MySQL을 사용하여 limit 을 통해 0, 5 로 5개의 row만 가져오고 싶었다. 실행을 해보니 nested exception is org.apache.ibatis.binding.BindingException: Parameter 'startIndex' not found. Available parameters are [arg1, ..
스프링 부트 + Vue.js 연동 같은 프로젝트 일 때 router 설정
스프링 부트 프로젝트에 vue.config.js 로 npm build 하여 /resources/static/ 경로에 index.html로 만들었을 경우 import { createRouter, createWebHistory } from 'vue-router' import Home from '../views/Home.vue' import Login from "@/components/Login"; const routes = [ { path: '/', name: 'Home', component: Home }, { path: '/login', name: 'Login', component: Login } ] const router = createRouter({ history: createWebHistory(pro..
Spring controller, domain, service, repository V1
Spring 에서의 웹개발은 MVC 패턴으로 개발이 된다. Model, View, Controller 로 구성되어있다. 그중에서도 각각의 어노테이션을 취해주어야 하는데 보통 패키지로 구분을 한다. 이런식의 구조를 가지고 있다. 그럼 각각 무슨 기능을 하는지 알아보자. controller - 클라이언트에서 전달되는 모든 데이터가 거쳐가는 곳이다. 이곳을 통해 맵핑이 되기도 하며 데이터를 주고 받는 기능을 처리하는 곳이다. @Controller 어노테이션으로 사용한다. domain - 하나의 객체 DTO 라고 할 수 있다. 클래스를 만들고 이 객체를 담기위한 그릇으로 사용된다. Member 라는 클래스가 있고 이 클래스는 회원객체이다. 예를들어 요구사항이 구분을 위한 식별자 id 값과 이름인 name이고, ..
2. 스프링 프로젝트 생성 이어서...
기본으로 만들어진 자바 클래스를 보면 메인클래스 부분을 실행하면 된다. 실행을 하게되면 밑에 톰캣 어쩌구 저쩌구 8080 포트 http... 라고 나온다. 그러면 이렇게 localhost:8080 포트를 통해서 접속을 하게되면 에러 페이지가 뜨는 것을 확인 할 수 있다. 이런 에러 페이지가 나오면 실행에 성공한 것이다. 이유는 아무 페이지도 만들기 않았기 때문에 에러페이지가 동작한 것이다. 어노테이션을 보게되면 @SpringBootApplication 을 통해 사용하게 된다. 이 스프링부트어플리케이션이 톰캣을 내장 하고 있기 때문에 톰캣 설정을 따로 하지않았더라도 실행 될 때 톰캣이 실행이 되게 된다. Gradle 설정부분이다. 기본으로 Gradle로 되어있어 빌드를 하게 될때 Gradle를 거쳐서 실행..
1. 스프링 프로젝트 생성 , 구조
스프링에서 제공하는 사이트를 이용해보자. 사이트 경로와 Grade Project로 하였고 언어는 자바로 선택, SNAPSHOT버전은 아직 완성되지 않았기 때문에, 완성 버전인 2.3.4 버전을 사용하겠다. 프로젝트 이름은 hello로 했고 자바 버전은 11버전을 사용하겠다. 라이브러리는 Spring Web 과 Html 사용을 위해 Thymeleaf를 사용 생성을 하게 되면 파일이 zip 파일로 다운로드가 되고 압축을 풀어주면 된다. 프로젝트 구조이다. 에디터는 intellij를 사용하겠다. open or import 를 클릭하여 프로젝트를 불러오자 build.gradle 를 눌러 프로젝트를 불러온다. build.gradle 파일을 살펴보면 사용하려는 자바 버전과 스프링 버전 그리고 아까 사용하려고 했던 ..