用于类名上,用于返回json和xml等数据,但是不能用于返回html页面。相当于注解@Controller和@ResponseBody的组合。
@RestController
public class HelloWorldController{
@RequestMapping("/hello")
public String hello(){
return "Hello,Springboot“;
}
}
2.@Controller
用于类名上,它用于标注控制器层,在MVC开发模式中代表C(控制器),也是用于返回Json格式数据。
@Controller
public class HelloWorldController{
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "Hello,Springboot“;
}
}
3.@Service
用在类名上,用于声明一个业务处理类(实现非接口类),用于标注服务层,处理业务逻辑。
例如:继承ArticleService来实现其方法。
@Service
public class ArticleServiceImpl implements Article{
@Autowired
private ArticleReposity articleRepository;
@Override
public Article findArticleById(long id){
return articleRepository.findById(id);
}
4.@Reposity
用于类上面,用于标注数据层得访问。
5.@Component作用于类名上,用于把普通的pojo对象是实例化道spring容器中。当类不使用@Controller和@Service时就可以使用该注解来标注这个类。
6.@Configuration用于类上面,用于标注配置类,并且可以由Spring容器自动处理。它作为Bean的载体,用来只是一个类声明,一个或多个@Bean方法,在运行时为这些Bean生成BeanDefinition和请求服务。
7.@Resource作用于类名上、属性或构造函数参数上,用来装配Bean.
public class ArticleController{
@Resource
private ArticleReposity articleRepository;
@PostMapping(“”)
public String saveArticle(Article model){
articleRepository.save(model);
return "redirect:/article";
}
}
8.@Autowired
作用于类名上、属性或构造函数参数上,表示被修饰的类需要注入对象。Spring会扫描所有被@AutoWired标注的类,然后根据类型在Ioc容器中找到匹配的类进行注入。被@Autowired注解后的类不再需要导入文件。
9.@RequestMapping类名或方法上。用来处理请求地址映射。
10.@Transactional可以用在接口、接口方法、类及类方法上。不建议在接口或者接口方法上使用,因为该注解只有在使用基于接口的代理时才会生效。如果异常被捕获类,则事物不回滚了。如果想让事务回滚则必须再往外抛出异常。
11.@Qualifier和@Autowired一起使用
12.@RequestBody作用于方法上,常用于处理json和xml格式的数据,通过该注解可以将请求体中的字符串绑定到相对应的Bean上,也可以将其绑定到对应的字符串上。
举例:用ajax提交数据,然后在控制器接受数据。
13.PathVariable作用于方法上,用于获取路径中的参数。
14.@Bean它代表产生一个Bean,并交给spring管理。用于封装数据,一般有setter、getter方法。在mvc模型中对应着M(模型)
15.@ResponseBody作用于方法上,通过转换器将控制器中方法返回的对象转换为指定的格式,然后写入Responsed对象的body区。常用来返回json、xml格式的数据。



