Annotaion 이란?
Annotation 이란 클래스와 메소드에 추가하여 다양한 기능을 부여하는 역활 특별한 의미를 부여하거나 기능을 부여하는 등 다양한 역활을 수행할수 있게된다
--> 코드량이 감소하고 유지보수가 쉬우며 생산성이 증가된다
Annotaion
@Component
생성한 Class를 Spirng Bean으로 등록할 때 사용하는 Annotaion
Spring은 해당 Annotation을 보고 Spring Beans 등록합니다.
@Controller
해당 Class가 Controller의 역활을 한다고 명시하기 위해 사용하는 Annotation
@Component(value="myman")
public class Man {
public Man() {
System.out.println("hi");
}
}
@ComponentScan
@Component @Service @Repository @ Controller @ Configuration 중 1개라도 등록된 클래스를 찾으면 Context 에 beans로 등록한다
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
return "home";
}
@Bean
개발자가 제어가 불가능한 외부 라이브러리와 같은 것들을 Beans로 만들때 사용한다
@RequestHeader
Request의 header값을 가져올 수 있으며 , 해당 Annotation을 쓴 메소드의 파라미터에 사용한다,
@RequestMapping
@RequsetMappting(value="")와 같은 형태로 작성하며 value값이 일치하면 해당 클래스나 메소드가 사용한다(구버전)
@Controller // 이 Class는 Controller 역할을 합니다
@RequestMapping("/user") // 이 Class는 /user로 들어오는 요청을 모두 처리합니다.
public class UserController {
@RequestMapping(method = RequestMethod.GET)
public String getUser(Model model) {
// GET method, /user 요청을 처리
}
@RequestMapping(method = RequestMethod.POST)
public String addUser(Model model) {
// POST method, /user 요청을 처리
}
@RequestMapping(value = "/info", method = RequestMethod.GET)
public String addUser(Model model) {
// GET method, /user/info 요청을 처리
}
}
@GETMapping @POSTMappting
@GetMapping("/join")
public String join() {
//return "WEB-INF/views/member/join.jsp";//뷰리졸버 적용전
return "member/join"; //뷰리졸버 적용후
}
@PostMapping("/join")
public String join(@ModelAttribute MemberDto memberDto) {
//DB등록 코드
memberDao.join(memberDto);
//등록을 마치고 JSP를 연결(forword,포워드)하면 새로고침에 속수무책으로 당한다.
//return "member/join_success";
//새로고침을 대비해서 이 기능이 다시 실행되지 않도록 다른 기능으로 강제이동(rediect)
//=redirect:로 시작하는 주소를 반환
return "redirect:/"; //root페이지로 리다이렉트(뷰리졸버 무시)
}
@RequestParam
URL에 전달되는 파라미터를 메소드의 인자와 매칭시켜 , 파라미터를 받아 처리할수 있는 Annotation
@Controller // 이 Class는 Controller 역할을 합니다
@RequestMapping("/user") // 이 Class는 /user로 들어오는 요청을 모두 처리합니다.
public class UserController {
@RequestMapping(method = RequestMethod.GET)
public String getUser(@RequestParam String nickname, @RequestParam(name="old") String age {
// GET method, /user 요청을 처리
// https://naver.com?nickname=dog&old=10
String sub = nickname + "_" + age;
...
}
}
@ModelAttribute
클라이언트가 전송하는 파라미터 setter함수를 통해 1:1로 객체에 데이터를 연결
@Autowired
Bean객체를 주입받기 위한 방법
//내가 일하려면 MemberDao가 필요한데 MemerDao좀 주겟니?..
@Autowired
private MemberDao memberDao;
LomBok
@Setter
Setter Method 생성
@getter
Getter Method 생성
@AllArgsConstrucktor
모든 필드 값을 파라미터로 받는 생성자
@NoArgsConstructor
기본 생성자를 자동으로 추가
@ToString
toString 메소드를 생성
@Data
Setter + Getter + toString / 생성자는 안만들면 자바가 기본으로 하나 만들어줌..
'[LANG] > - Java' 카테고리의 다른 글
[Spring] OrmFramWork / Mybatis (0) | 2022.06.05 |
---|---|
[Spirng] 뷰리졸버? (View Resolver) (0) | 2022.06.05 |
[Spring] 스프링 프레임워크의 5대 특징 ( spring framework 특징) (0) | 2022.06.05 |
[Spring] 스프링에서의 DB연결과 (0) | 2022.06.05 |
[Spring] 피보탈 서버 제거후 톰켓으로 변경 (0) | 2022.06.05 |
댓글