社区
Web 开发
帖子详情
@Autowired注解的2种方式
sunstubble
2018-09-04 04:53:30
private A a;
@Autowired
public c(A a) {
this.a= a;
}
和
@Autowired
private A a;
这2中写法有什么区别吗?推荐写哪种呢谢谢了
...全文
1231
7
打赏
收藏
@Autowired注解的2种方式
private A a; @Autowired public c(A a) { this.a= a; } 和 @Autowired private A a; 这2中写法有什么区别吗?推荐写哪种呢谢谢了
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cyh9001
2018-09-16
打赏
举报
回复
在报错位置打断点 很容易找的 楼主试着学习debug
sunstubble
2018-09-11
打赏
举报
回复
但一般用的是模型驱动,当模型不够时,用属性驱动.
什么叫模型驱动,什么又是模型不够?
如果这样set的话为什么不直接用构造器注入?你这样需要注入的属性一多 set代码就有好多阅读上面也不方便,构造方法至少只要看一个地方了吧,还有看来最方便的最简洁 field注入是不推荐使用了
冲上云霄 、
2018-09-11
打赏
举报
回复
都是大佬。。。。。。。
新一代农名工9527
2018-09-06
打赏
举报
回复
改一下
@Autowired
private A abc;
public setAbc(A a) {
this.abc= a;
}
新一代农名工9527
2018-09-06
打赏
举报
回复
楼上总结的很好。但一般用的是模型驱动,当模型不够时,用属性驱动,属性驱动也就是你用的这个setter注入,一般还是用
@Autowired
private A abc;
public setAbc(A a) {
this.a= a;
}
结合模型驱动用。
记住八字真言:“模型不够,属性来凑”。
谙忆
2018-09-04
打赏
举报
回复
@autowired写在变量上的注入要等到类完全加载完,才会将相应的bean注入。
写在方法上是为了在构造方法中使用到该变量。写到构造方法中,也就是有了先后的注入依赖关系
lansetiankong_yiyi
2018-09-04
打赏
举报
回复
第一个是通过构造器注入, 第二个是通过field反射注入
弊端
如果你使用的是构造器注入
恭喜你,当你有十几个甚至更多对象需要注入时,你的构造函数的参数个数可能会长到无法想像。
如果你使用的是field反射注入
如果不使用Spring框架,这个属性只能通过反射注入,太麻烦了!这根本不符合JavaBean规范。
还有,当你不是用过Spring创建的对象时,还可能引起NullPointerException。
并且,你不能用final修饰这个属性。
如果你使用的是setter方法注入
那么你将不能将属性设置为final。
两者取其轻
Spring3.0官方文档建议使用setter注入覆盖构造器注入。
Spring4.0官方文档建议使用构造器注入。
结论
如果注入的属性是必选的属性,则通过构造器注入。
如果注入的属性是可选的属性,则通过setter方法注入。
至于field注入,不建议使用。
Spring入门到精通:第三章 IOC容器(
注解
方式
):2.IOC容器Bean管理
注解
方式
-注入属性@
Autowired
这一节我们讲一下如何注入属性 一、属性注入的几个
注解
(1)@
Autowired
:根据属性类型进行注入(spring提供) (2)@Qualifier:根据属性名称进行注入,需要和@
Autowired
一起使用 (3)@Resource:可以根据属性类型注入,也可以根据名称进行注入(java提供) (4)@Value:注入普通类型属性 二、演示属性注入 2.1 准备工作 我们编写一个UserDao来进行举例说明: package com.kfit.user.dao; ...
Spring @Resource、@
Autowired
、@Qualifier的
注解
注入及区别
spring2.5提供了基于
注解
(Annotation-based)的配置,我们可以通过
注解
的
方式
来完成注入依赖。在Java代码中可以使用 @Resource或者@
Autowired
注解
方式
来经行注入。虽然@Resource和@
Autowired
都可以来完成注入依赖,但它们之间是有区 别的。首先来看一下: a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按
@
autowired
注解
接口
方式
注入失败_SpringBoot源码解析 -- @Value,@
Autowired
实现原理
SpringBoot深入理解 -- @AliasFor
注解
的作用 SpringBoot源码解析 -- SpringBoot启动过程 SpringBoot源码解析 -- AutoConfigure的实现原理 SpringBoot源码解析 -- @ComponentScan的实现原理 SpringBoot源码解析 -- @Value,@
Autowired
实现原理 SpringBoot源码解析 -- T...
Spring的包扫描开发与@
Autowired
与@Resource
注解
的区别(五)
东家蝴蝶西家飞,白骑少年今日归。 愿,所有迷茫的人,都不再迷茫的,愿,所有努力工作的人,都可以得到应有的回报,愿,所有的人,都可以找到回家的方向,愿,再无苦痛,再无离别。
Spring基于
注解
的
方式
管理bean
Spring 提供了以下多个
注解
,这些
注解
可以直接标注在 Java 类上,将它们定义成 Spring Bean。
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章