第11章—常用注解(持续更新中)
spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html
码云源码地址:https://gitee.com/jinxiaohang/springboot
最近一段时间学习了springboot,把熟悉的注解总结一下,这样可以方便查阅、开发。
部分参考网友总结的,带*号的注解作用不太确定。 (根据首字母顺序排列)
@Autowired
作用:自动导入依赖的bean。
@Bean
作用:等价于XML中配置的bean。
@Cacheable
作用:可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。
@CacheConfig
作用:有时候一个类中可能会有多个缓存操作,而这些缓存操作可能是重复的。这个时候可以使用@CacheConfig。@CacheConfig是一个类级别的注解,允许共享缓存的名称、KeyGenerator、CacheManager 和CacheResolver。
@Column
作用:标识实体类中属性与数据表中字段的对应关系。
@Component *
作用:把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>
@ComponentScan
作用:表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。
@Controller
作用:用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)。
@Entity
作用:表明这是一个实体类。
@Id
作用:表示该属性为主键。
@PathVariable
作用:将request里的参数的值绑定到Controller里的方法参数里的,使用@PathVariable时,URL是这样的:http://host:port/path/参数值。
@RequestBody
作用:注解用于Controller的方法参数,根据HTTP Request Header的content-Type
的内容(通常是application/json),通过适当的HttpMessageConverter转换为JAVA类
@RequestMapping
作用:提供路由信息,负责URL到Controller中的具体函数的映射。
@RequestParam
作用:将request里的参数的值绑定到Controller里的方法参数里的,使用@RequestParam时,URL是这样的:http://host:port/path?参数名=参数值。
@ResponseBody
作用:该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式(常用于Json、XML)后,写入到Response对象的body数据区。
@RestController
作用:相对于@ResponseBody和@Controller的合集。
@Service
作用:一般用于修饰service层的组件。
@SpringBootApplication
作用:相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
@Transient
作用:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性。