Spring Boot中用到的注解

1.@RestController和@Controller:
(1)@RestController注解相当于@ResponseBody + @Controller合在一起的作用
(2)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,返回的内容就是return 里的内容。
(3) 如果需要返回到指定页面,则需要用@Controller配合视图解析器InternalResourceViewResolver才行。如果需要返回JSON或其他内容到页面,则需要在对应的方法上加上@ResponseBody注解。
2.@Autowired和@Resource:
(1)都可以用来装配bean. 都可以写在字段或setter方法上
(2)@Autowired按byType自动注入,而@Resource默认按 byName自动注入
(3)@Autowired是spring的注解,默认按类型装配,默认情况下要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:@Autowired(required=false)
(4)@Resource是J2EE的注解,默认按照名称装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行查找。当找不到与名称匹配的bean时才按照类型进行装配,但是如果name属性一旦指定,就只会按照名称进行装配。
3.@Mapper:扫描该接口,使该接口可以被别的地方引用。与此作用相同的还有注解@Repository,但是它需要配置扫描地址,然后生成Dao层的Bean才能被注入到Service中,而@Mapper不需要配置扫描地址,通过xml的namespace的接口地址,生成Bean后注入到Service中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章