package com.u2ware.springfield.sample.part4.step1;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import com.u2ware.springfield.config.Springfield;
import com.u2ware.springfield.config.Springfield.Strategy;
@Springfield(
	strategy=Strategy.JPA, 
	methodLevelMapping={
		"*","*.do",
		"findForm.json","findForm.xml","findForm.xls",
		"read.json","read.xml","read.xls"
	}
)
@Entity
public @ToString class MappingBean {
	@Id
	@Getter @Setter private @NotNull String id;
	@Getter @Setter private @NotNull String password;
	@Getter @Setter private @NotNull String name;
	@Getter @Setter private @NotNull Integer age;
}
		예제의 경우 , "*" , "*.do", 에 의해 9 * 2 = 27 개의 url 이 mapping 되고, "findForm.json","findForm.xml","findForm.xls" 에 의해 EntityController 의 findForm 메소드에 3개의 url 이, "read.json","read.xml","read.xls" 에 의해 EntityController 의 read 메소드에 3개의 url 이 추가 mapping 된다.
| 매핑 경로 | HTTP Method | Controller Method 이름 | 예제 Command 객체 | 예제 매핑 경로 | 
|---|---|---|---|---|
| /{topLevelMapping}/ | GET | home() | MappingBean | /part4/step1/ | 
| /part4/step1/.do | ||||
| /{topLevelMapping} | GET | findForm() | MappingBean | /part4/step1 | 
| /part4/step1.do | ||||
| /part4/step1.json | ||||
| /part4/step1.xml | ||||
| /part4/step1.xls | ||||
| /{topLevelMapping} | POST | find() | MappingBean | /part4/step1 | 
| /part4/step1.do | ||||
| /{topLevelMapping}/{id} | GET | read() | MappingBean | /part4/step1/bar | 
| /part4/step1/bar.do | ||||
| /part4/step1/bar.json | ||||
| /part4/step1/bar.xml | ||||
| /part4/step1/bar.xls | ||||
| /{topLevelMapping}/new | GET | createForm() | MappingBean | /part4/step1/new | 
| /part4/step1/new.do | ||||
| /{topLevelMapping}/new | POST | create() | MappingBean | /part4/step1/new | 
| /part4/step1/new.do | ||||
| /{topLevelMapping}/{id}/edit | GET | updateForm() | MappingBean | /part4/step1/bar/eidt | 
| /part4/step1/bar/eidt.do | ||||
| /{topLevelMapping}/{id}/edit | PUT | update() | MappingBean | /part4/step1/bar/eidt | 
| /part4/step1/bar/eidt.do | ||||
| /{topLevelMapping}/{id}/edit | DELETE | delete() | MappingBean | /part4/step1/bar/eidt | 
| /part4/step1/bar/eidt.do | 
@Springfield 의 methodLevelMapping 속성으로 RequestMapping 을 추가 할 수 있다.