@Serviceと@Controllerアノテーションは、Springフレームワークのクラスパススキャンを使用した自動Bean検出に使用されます。春の@serviceの動作の混乱
私は4つ以下のユースケースを試しましたが、404エラーが出るので、ケース4とちょっと混乱しています。
ユースケース1: @Controller &クラスレベル@RequestMapping
@Controller
@RequestMapping(value = "/home")
public class MyController
{
...
}
結果:
http://localhost:8080/MyApp/home/helloWorld/va --->こんにちはVA
ユースケース2: @Service &クラスレベル@RequestMapping
@Service
@RequestMapping(value = "/home")
public class MyController
{
...
}
結果:
http://localhost:8080/MyApp/home/helloWorld/va --->こんにちはVA
ユースケース3:& @Controllerなしクラスレベル@RequestMapping
@Controller
public class MyController
{
...
}
結果:
http://localhost:8080/MyApp/helloWorld/va --->こんにちはVA
ユースケース4: @Service &なしクラスレベル@RequestMapping
@Service
public class MyController
{
...
}
結果:
http://localhost:8080/MyApp/helloWorld/va --->エラー404
コード:
@Service
@RequestMapping(value = "/home")
public class MyController
{
@RequestMapping(value = "/helloWorld/{Name}", method = RequestMethod.GET)
public @ResponseBody String HelloWorld(@PathVariable("Name") String name)
{
return "Hello "+name;
}
}
@Serviceを使用しているとき、私はクラスレベルで@RequestMappingを使用していけないのであれば、短い中で、404エラーを取得しています。
参照:http://stackoverflow.com/questions/15922991/is-spring-annotation-controller-same-as-service – Unknown
http://stackoverflow.com/questions/6827752/whats-the-difference-between -component-repository-service-annotations-in – Unknown
実際に私はすでに投稿を行ってきましたが、なぜ@RequestMappingを削除すると404エラーが発生するのか分かりませんでした。 – Vaibs