Spring常用注解官方释义

1.@Controller
org.springframework.stereotype.Controller
@Component
@Target(value={TYPE})
@Retention(value=RUNTIME)
@Documented

Indicates that an annotated class is a "Controller" (e.g. a web controller).
This annotation serves as a specialization of @Component, allowing for implementation classes to be autodetected through classpath scanning. It is typically used in combination with annotated handler methods based on the org.springframework.web.bind.annotation.RequestMapping annotation.

2.@Service
org.springframework.stereotype.Service
@Component
@Target(value={TYPE})
@Retention(value=RUNTIME)
@Documented

Indicates that an annotated class is a "Service", originally defined by Domain-Driven Design (Evans, 2003) as "an operation offered as an interface that stands alone in the model, with no encapsulated state." 
May also indicate that a class is a "Business Service Facade" (in the Core J2EE patterns sense), or something similar. This annotation is a general-purpose stereotype and individual teams may narrow their semantics and use as appropriate. 
This annotation serves as a specialization of @Component, allowing for implementation classes to be autodetected through classpath scanning.

3.@RequestMapping
org.springframework.web.bind.annotation.RequestMapping
@Mapping
@Target(value={METHOD, TYPE})
@Retention(value=RUNTIME)
@Documented

Annotation for mapping web requests onto specific handler classes and/or handler methods. Provides a consistent style between Servlet and Portlet environments, with the semantics adapting to the concrete environment. 

4.@Autowired
org.springframework.beans.factory.annotation.Autowired
@Target(value={CONSTRUCTOR, FIELD, METHOD})
@Retention(value=RUNTIME)

Marks a constructor, field, setter method or config method as to be autowired by Spring's dependency injection facilities. 
Only one constructor (at max) of any given bean class may carry this annotation, indicating the constructor to autowire when used as a Spring bean. Such a constructor does not have to be public. 
Fields are injected right after construction of a bean, before any config methods are invoked. Such a config field does not have to be public. 
Config methods may have an arbitrary name and any number of arguments; each of those arguments will be autowired with a matching bean in the Spring container. Bean property setter methods are effectively just a special case of such a general config method. Such config methods do not have to be public. 
In the case of multiple argument methods, the 'required' parameter is applicable for all arguments. 
In case of a java.util.Collection or java.util.Map dependency type, the container will autowire all beans matching the declared value type. In case of a Map, the keys must be declared as type String and will be resolved to the corresponding bean names. 

5.@Transactional
org.springframework.transaction.annotation.Transactional
@Target(value={METHOD, TYPE})
@Retention(value=RUNTIME)
@Documented
@Inherited

Describes transaction attributes on a method or class. 
This annotation type is generally directly comparable to Spring's org.springframework.transaction.interceptor.RuleBasedTransactionAttribute class, and in fact AnnotationTransactionAttributeSource will directly convert the data to the latter class, so that Spring's transaction support code does not have to know about annotations. If no rules are relevant to the exception, it will be treated like org.springframework.transaction.interceptor.DefaultTransactionAttribute (rolling back on runtime exceptions). 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值