3. @ModelAttribute = 파라미터 To VO
- 용어 정리 : '파라미터를 받아서 VO에 맵핑'하라는 어노테이션
- 사용 예제 : public String testMethod(@ModelAttribute UserVO userVo)
- 사용 예제 해석 : 파라미터로 들어오는 값들을 한방에 UserVO에 맵핑해주세요.
ex) UserVO.java
public class UserVO{
private String id;
private String name;
public test(String id, String name){
this.id = id;
this.name = name;
}
public String getId(){
return id;
}
}
4. @RequestParam = 파라미터 To 변수
- 용어 정리 : '파라미터를 변수에 저장'하는 어노테이션
- 사용 예제 : @RequestParam("userId") String id
- 사용 예제 해석 : 'userId'라는 파라미터를 받아서 'id'라는 변수에 저장하세요.
5. @Autowired = 자동 주입
- 용어 정리 : 스프링에게 '객체를 자동으로 생성'하라고 시키는 어노테이션
- 용어 상세 설명 :
의존하는 객체를 자동으로 삽입해주며 생성자, 필드(=전역변수), 메서드 세 곳에 적용이 가능.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class Test{
private TestService testService;
//필드(=전역변수)에 @Autowired를 붙여봤습니다.
@Autowired
private Apple apple;
//생성자에 @Autowired를 붙여봤습니다.
@Autowired
public Test(TestService testService){
this.testService = testService;
}
//함수에 @Autowired를 붙여봤습니다.
@Autowired
public void myMethod(TestService testService){
this.testService = testService;
}
}
|
cs |
- 위의 예제 중 myMethod에 @Autowired를 붙인 것이 어떻게 해석되는 것인지 알아보겠습니다. Test클래스의 필드(=전역변수)인 testService에 TestService 타입의 객체(≒인스턴스)를 myMethod메서드를 통해 자동으로 주입하도록 스프링에게 명령합니다.
6. @Resource = name속성을 통해 자동 주입
- 용어 정리 : 스프링에게 '딱 이 name을 가진 객체를 주입'하라고 시키는 어노테이션
- @Resource 어노테이션은 name속성을 통해 자동 주입을 실행한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class Test{
@Resource(name="hello")
private Hello hello;
private HelloService helloService;
public HelloService getService(){
return helloService;
}
@Resource(name="helloSerivce")
public void setService(HelloService helloService){
this.helloService = helloService;
}
}
|
cs |