Spring 下注解说明
2019独角兽企业重金招聘Python工程师标准>>>
1. Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
以@GetMapping为例,Spring官方文档说:
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。
2. @Resource 和@Autowired 的区别对比
@Resource 和@Autowired 都是做bean 的注入时使用,其实@Resource 并不是Spring 的注解,它的包是javax.annotation.Recource,需要导入,但是Spring 支持该注解的注入。
2.1 共同点
两者都可以写在字段和setter 方法上。两者如果都写在字段上,那么就不需要再写setter 方法。
2.2 不同点
(1) @Autowired
@Autowired 为Spring 提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired;只按照byType 注入。
public class TestServiceImpl {// 下面两种@Autowired只要使用一种即可@Autowiredprivate UserDao userDao; // 用于字段上@Autowiredpublic void setUserDao(UserDao userDao) { // 用于属性的方法上this.userDao = userDao;}
}
@Autowired 注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null 值,可以设置它的required属性为false.
如果我们想使用按照名称(byName) 来装配,可以结合@Qualifier 注解一起使用。如下:
public class TestServiceImpl{@Autowired@Qualifier("userDao)private UserDao userDao;}
(2)@Resource
@Resource默认按照ByName自动注入,由J2EE提供,需要导入包javax.annotation.Resource。@Resource有两个重要的属性:name和type,而Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以,如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不制定name也不制定type属性,这时将通过反射机制使用byName自动注入策略
3. 项目中用到得注解
(1)、@CrossOrigin (2)、@RestController (3)、@Autowired (4)、@RequestMapping (5)、@FeignClient (6)、@Configuration
(7)、@EnableCaching (8)、@EnableFeignClients (9)、@EnableEurekaClient (10)、@SpringBootApplication (11)、@Override
(12) @Aspect (13)、@Component (14)、 @Pointcut (15)、@Before (16)、@AfterReturning (17)、@RequestParam (18)、@RequestBody
(19)、@EnableDiscoverClient (20)、@ComponentScan 、 (21)、@MapperScan (22)、@Service (23)、@Scheduled (25)、@Value
(26)、Import (27)、@Bean (28)、@DependsOn (29)、@ConditionalOnMissingBean (30)、@ServerEndpoint (31)、@OnOpen
(32)、Onclose (33)、OnMessage (34)、OnError (35)、@CrossOrigin
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的
<bean id="" class=""/>)
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
案例:
<context:component-scan base-package=”com.*”>
上面的这个例子是引入Component组件的例子,其中base-package表示为需要扫描的所有子包。
共同点:被@controller 、@service、@repository 、@component 注解的类,都会把这些类纳入进spring容器中进行管理
转载于:https://my.oschina.net/kuchawyz/blog/1816777
Spring 下注解说明相关推荐
- Spring系列之Spring常用注解总结
参看博客:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺 ...
- Spring使用注解配置依赖注入
大部分情况下,使用Spring配置依赖注入时,都是使用注解来进行配置,因为注解比xml要方便和简单.不过类似于数据源对象这种配置信息容易变更的对象除外,这种对象使用xml文件来进行配置会更适合,方便于 ...
- Spring 使用注解方式进行事务管理
2019独角兽企业重金招聘Python工程师标准>>> 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注 ...
- Spring 使用注解方式进行事物管理
Spring 使用注解方式进行事物管理 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transaction ...
- Spring常用注解总结
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文 ...
- java注解式开发_JAVA语言之Spring MVC注解式开发使用详解[Java代码]
本文主要向大家介绍了JAVA语言的Spring MVC注解式开发使用详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处 ...
- Spring Boot 注解大全,一键收藏了!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 Sp ...
- spring autowired idea都匹配上了_你清楚这几个Spring常用注解吗?
作者:平凡希http://cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 如 ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方 1.form的enctype="multipart/form-data" 这个是上传文件必须的 2.appl ...
最新文章
- 任正非在“GTS云与终端云合作与融合进展”汇报会上的讲话
- HDU 1004 Let the Balloon Rise
- 怎样去除excel表中的虚线_Excel教程:F1键强大的功能,你会用吗?
- flink入门实战总结
- 【mysql学习】疑问点记录
- 三、单一职责原则、开放-封闭原则、依赖倒转原则
- 例5-17和例5-18
- [设计模式] - 策略模式(Java篇)
- Windows下MinGW编译vim7.4
- opencv在同一窗口打印多张图片
- 满满干货!mysql定时任务每天固定时间执行
- linux下安装erlang,以及cowboy的初步接触的一些环境安装
- 随手记_vscode怎样加命令行参数进行调试(python)
- 《丁丁历险记系列之委托》改编自《.NET委托:一个C#睡前故事》
- mysql proxy maxscale_MaxScale: 一个用于解决MySQL扩展性的新工具(译)
- 13家著名IT公司logo变迁史
- 周记——20151221
- 华为服务器系统日志,服务器操作系统日志
- 万维钢:但是人终将老去
- 成都拓嘉启远:造成拼多多异常订单的五种常见原因