@Component(标注一个控制器组件类),@Service(标注一个业务逻辑组件类),@Controller(标注一个控制器组件类),@Repository(标注一个DAO组件类) 标注在类上, 并把这些类纳入进spring容器中管理.
@RestController 标注在类上,返回Json数据的controller 相当于标注了@ResponseBody 的 @Controller.
@Configuration 标注在类上 相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文).
@Bean 标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的<bean>,作用为:注册bean对象.
@ControllerAdvice 标注在类上 官方文档:It is typically used to define @ExceptionHandler, @InitBinder, and @ModelAttributemethods that apply to all @RequestMappingmethods.
@ExceptionHandler 标注在方法上,在一个Controller类中,发生错误时都会跳转到相应的方法上.
@RequestMapping 标注在方法或类上,根据相应的Url的执行相应的方法。可以通过在类上标注一层Url,在方法上标注下一层Url这样组合使用。
例子:
@RestController
@RequestMapping("/api")
public class ApiController {
@Inject
private DemoUserService demoUserService;
@RequestMapping
public List<DemoUserDO> now() {
List<DemoUserDO> users = this.demoUserService.list();
users.forEach(u -> u.setDatetime(new Date()));
return users;
}
@RequestMapping("/hello")
public String helloWorld() {
return "hello";
}
网友评论