반응형

spring 10

@RequestParam과 @PathVariable

Spring을 사용하다 보면 Controller 단에서 클라이언트에서 URL에 파라메터를 같이 전달하는 경우가 있습니다. 주로 사용하는 형태는 아래의 두 가지가 대표적인 케이스가 있습니다. Type 1 => http://127.0.0.1?index=1&page=2 Type 2 => http://127.0.0.1/index/1 Type 1의 경우 파라메터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용합니다. Type 2의 경우 Rest api에서 값을 호출할 때 주로 많이 사용합니다. Spring에서는 이러한 전달인자를 처리하는데 두 가지 방법을 제공합니다. @RequestParam 사용하기 Type 1의 URL을 처리할 때 @Requ..

spring 2022.08.11

@Transactional

트렌젝션 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미한다. begin, commit 을 자동으로 수행해준다. 예외 발생 시 rollback 처리를 자동으로 수행해준다. 트랜잭션은 4가지의 성질을 가지고 있다. 트렌젝션 처리방법 스프링에서는 간단하게 어노테이션 방식으로 @Transactional을 메소드, 클래스, 인터페이스 위에 추가하여 사용하는 방식이 일반적이다. 이 방식을 선언적 트랜잭션이라 부르며, 적용된 범위에서는 트랜잭션 기능이 포함된 프록시 객체가 생성되어 자동으로 commit 혹은 rollback을 진행해준다. @Transactional 옵션 1. isolation 트랜잭션에서 일관성없는 데이터 허용 수준을 설정한다 2. propagation 트랜잭션 동작 ..

spring 2022.04.11

Controller에 @ResponseBody 사용하기[Spring mvc]

[1] 기본은 MVC는 Model view Controller로 이루어진다. 동작확인: 1. Controller에서 model에 data값으로 데이터!라는 문자를 넣어준다. 2. hello라는 이름을 가진 view(template)로 리턴 3. date라는 이름을 가진 데이터!값이 합쳐저 안녕하세요 데이터!가 화면에 출력된다. [2] @RequstParam을 이용해 값을 가져오기 동작확인: 1. Controller를 통해 hello-mvc주소 요청이오면 hellomvc메소드가 실행된다. 2. @RequstParam을 통해 name값을 받고 이를 model에 name이라는 이름으로 넣어 hello=template에 리턴한다. 3. view에서는 url에 나온대로 name=조젤리입니다가 ${name}에 들어..

spring/Spring inf 2022.03.02

컨트롤러 메서드에 @RequsteParam @required 쓰기

컨트롤러 사용시 메소드 에 @RequestParam을 통해 get방식으로 url로 들어오는 값을 가져올 수 있다. 이때 만약 해당 값이 들어오지않을경우 Required request parameter '해당 값' for method parameter type String is not present 라는 오류가 발생하는데 이 값이 없어도 오류가 나지않게 설정하기 위해서는 윈도우 기준 ctrl+space @required를 false로 바꿔주면된다. 기본값 true 그러면 해당 vlaue에 대핸 require가 false로 되어 오류가 발생하지 않게된다.

spring/Spring inf 2022.03.01

cmd 로 Spring 실행 하기 [Build]

윈도우를 이용했다. 1. 프로젝트 폴더까지cmd로 들어가서 gradlew.bat을 실행하면 jar파일이 생성된다. 2. 이제 프로젝트파일>build>libs에 들어가서 jar파일이 들어온걸 확인 +(dir명령어는 하위 파일들을 보여준다. ) 3. libs폴더에서 java -jar [프로젝트 .jar복사 붙여넣기] 하여 실행하면 http://localhost:8080/실행이 된다. 4. 잘 안될때는 clean build를 해준다.

spring 2022.02.28

[Spring] 스프링 빈(Bean)의 개념과 생성 원리

빈(Bean) Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부른다. 우리가 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아니다. ApplicationContext.getBean()으로 얻어질 수 있는 객체가 빈이다. 즉 Spring에서의 빈은 ApplicationContext가 알고있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미한다. 그렇다면 빈을 들록하려면? Component Scanning을 해준다. Component Scan 1. @ComponentScan 어노테이션과 2. @Component 어노테이션을 사용해서 빈을 등록하도록 하는 방법. @ComponentScan 어노테이션은 어느 지점부터 컴포넌트를 찾으라고 알..

spring 2022.01.12

MVC구조 정리

MVC Model, View, Comtroller의 약자 프로젝트 구성시 구성요소를 세가지의 역할로 구분하는 패턴이다. Model: 애플리케이션의 정보, 데이터를 나타낸다. 테이터베이스, 상수 , 초기화값, 변수등을 뜻함, 이러한 데이터 정보들의 가공을 책임지는 컴포넌트이다. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다. ex). 화면에 둥근 원 안에 글자가 들어갈 경우, 원의 크기, 글의 위치, 글의 내용, 원의 위치, 글의 포멧정보 등을 모두 가지고 있어야 한다 . 뷰나 컨트롤러에 대해 어떠한 정보도 참조하면 안된다. 데이터 변경 발생시 모델에서 화면 UI를 직접 조정해서 수정 가능하도록 뷰를 참조하는 내부 속성값을 가지면 안된다. 변경이 일어날시, 변경 통지에 대한 처리방법을 구현해야..

spring 2022.01.10

스프링 시큐리티(Spring Security)

스프링 시큐리티(Spring Security)란? 인증(Authentication)와 인가(Authorization) 기능을 가진 프레임워크 스프링 기반의 어플리케이션에서는 보안을 위한 표준 인터셉터, 필터 기반의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 권장한다. 스프링 시큐리티 Oauth 사용시 구현하지 않아도 되는것 로그인 시 보안 비밀번호찾기 비밀번호 변경 회원가입시 이메일 혹은 전화번호 인증 회원정보 변경 Spring Boot 2.0의 OAuth 2.0 설정 방법 ( spring-security-oauth2-autoconfigure 라이브러리는 Spring Boot2에서도 1.5에서 쓰던 설정을 사용할 수 있다.) Spring Security Oauth2 Client 라..

spring 2021.04.05

Spring MVC 구조 및 처리 순서

오늘부터 토이 프로젝트를 만들기위해 MVC구조를 다시한번 공부하였다. 1. Model(모델) 어플리케이션의 데이터이며, 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트이다. 사용자가 이용하려는 모든 데이터를 가지고 있어야하며, View(뷰) 또는 Controller(컨트롤러)에 대해 어떤 정보도 알 수 없어야 한다. 변경이 일어나면 처리 방법을 구현해야 한다. 2. View(뷰) 시각적인 UI 요소를 지칭하는 용어이다. Model(모델)이 가지고 있는 데이터를 저장하면 안된다. Model(모델)이나 Controller(컨트롤러)에 대한 정보를 알면 안되며 단순히 표시해주는 역할을 가지고 있다. 변경이 일어나면 처리 방법을 구현해야 한다. 3. Controller(컨트롤러) Model(모델)과 View(..

spring 2021.03.09
반응형