자주사용되는 데이터 전달객체들은 하단의 주소에 자세히 설명되어있다.
참고주소: https://codevang.tistory.com/247
-StereoType-
https://incheol-jung.gitbook.io/docs/q-and-a/spring/stereo-type
해당주소에 스테레오타입의 정의에 대해서 자세히 설명되어있다.
-어노테이션-
-@Repository ,@Service-
위 두 어노테이션에 대해서는
https://m.blog.naver.com/PostView.naver?blogId=kbh3983&logNo=220908370180&
해당 주소에서 자세히 설명해주고 있다.
-@Autowired, @Inject-
위 두 어노테이션에 대해서는
https://velog.io/@sungmo738/Resource-Autowired-Inject-%EC%B0%A8%EC%9D%B4
https://codevang.tistory.com/256
해당 두 주소가 자세히 설명해주고 있다..
-@RequestParam-
client -> server 로 단일 데이터를 옮기는데 사용되고, 메소드의 파라미터로 쓰인다.
@RequestParam 문법 :
@RequestParam(value="checkbox",required=false,defaultValue="0") 자료형타입 변수명
value(필수) : client에서 전달해준 key값
required(필수x) : true로 지정할시 넘어오는 key값이 없다면 에러발생, false로 지정할시
넘어오는 키값이 없더라도 정상작동됨(대신 null이 변수에 들어감)
defaultValue(필수x) : "required=false" 일 경우에, 변수에 설정해준 defaultValue값을 넣어줌.
자료형타입 변수명(필수) : value="checkbox"에 매칭되는 값이 대입된다.
본인은 단일 checkbox 체크유무를 위하여 사용하였다.

하단의 샘플은 @RequestParam을 사용한 예시중 어노테이션 부분위주로만 뽑았다.
1
2
3
4
5
6
7
8
9
|
@RequestMapping(value="/Login",method = RequestMethod.POST)
public String postLogin(@RequestParam(value="checkbox",required=false) String checked,~) {
~~
if(checked!=null)
session.setMaxInactiveInterval(-1); //web.xml
else
session.setMaxInactiveInterval(60*30);
~~
}
|
cs |
checkbox에서는 name="checkbox"로 설정되어있으며 , checkbox는 form 태그내부에 존재한다.
2 : checked 에 value="checkbox" 와 매칭되는 값이 들어온다.
defaultValue를 지정해주지 않았으므로 , 들어오는 값이 없다면 기본적으로 null이 checked에 들어간다.
4~7 : checked가 null인가 아닌가로 구분하여 셋팅해주었다.
참고로, checkbox가 선택됬다면 값은 기본적으로 "on"이 들어오게 될것임.
-@RequestMapping-
client->server로 오는 url을 mapping 시켜준다. or redirect,forward로 server->server 오는 url을 매핑시켜준다.
문법:
@RequestMapping(value= {"/","/main"},method = RequestMethod.GET)
value(필수) : 매핑될 url , 다수url 매핑을 원할시 위와 같이 작성해줌.
method(필수x) : method를 작성해주지 않을시 post, get 방식모두 허용해줌
참고로,,, Spring 4.3부턴
HTTP 메소드들로 restful하게
@PostMapping,@GetMapping,@PutMapping,@DeleteMapping,@PatchMapping
해당 5가지가 더 지원된다고 한다..
하단의 샘플은 웹의 루트인 url : / 와 url :/main 을 같이 묶어 주었다.
1
2
3
4
|
@RequestMapping(value= {"/","/main"},method = RequestMethod.GET)
public String main() {
return "main";
}
|
cs |
------------------------------------------------Lombok-------------------------------------------
@Getter, @Setter, @ToString, @EqualsAndHashCode , @RequiredArgsConstructor, @NoArgsConstructor , @AllArgsConstructor , @Data
@Getter : Getter 메소드가 자동으로 생성
@Setter : Setter 메소드가 자동으로 생성
@ToString : toString 메소드를 자동으로 생성
@EqualsAndHashCode : Equals 와 HashCode 메소드를 자동으로 생성
@RequiredArgsConstructor : final이나 @NonNull로 지정된 필드 값만 파라미터로 받는 생성자를 만들어줍니다.
@NoArgsConstructor : 파라미터가 없는 기본 생성자를 생성해줌
@AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 만들어줌
@Data : 클래스레밸에서 해당 Annotation 이용시 , Lombok에서 지원하는 윗 어노테이션기능들을 모두 수행해준다. (@RequiredArgsConstructor 가 선택됨 )
-참고주소
https://www.daleseo.com/lombok-popular-annotations/ (Lombok)
'21년이전 > SPRING' 카테고리의 다른 글
SPRING - AJAX(JSON) (0) | 2021.05.25 |
---|---|
SPRING - (MVC) MyBatis 로 게시판 구현 (0) | 2021.05.06 |
SPRING - (MVC) JDBC Template을 이용해보자. (0) | 2021.05.05 |
SPRING - (MVC) DBCP 게시글 예제 (0) | 2021.05.01 |
SPRING - (MVC) 컨트롤러-뷰 의 데이터 흐름 (0) | 2021.04.29 |