大家项目开发中spring属性注入大家都是直接@Autowired吗

大地之子 2014-04-25 05:18:52
比如在action层引入service层 直接在Action里定义一个Service类 变量 然后上面弄个@Autowired
...全文
4275 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
静山晚风 2014-05-10
  • 打赏
  • 举报
回复
楼主说的正确,就是用 标签注解,有个struts和spring整合插件,无需注入 action类,自动识别里面的注解,明白?
_吊儿郎当_ 2014-05-10
  • 打赏
  • 举报
回复
引用 11 楼 beiouwolf 的回复:
Autowired 采用的是ApplicationContext.getBean(Class) 函数,根据接口类型注入,也就是说有多个相同类型的实例的话,就会报错了 Resource 采用ApplicationContext.getBean(String name)函数,根据托管实例的名称注入,同样相同名字的实例只能有一个 另外就是底层实现机制的不同,我记得根据spring文档上的说明,AOP环境中,Autowired采用了cglib进行代理构建,而Resource采用java代理进行构建 再有就是,对于其他可能的IoC框架而言,采用Resource可以实现平滑过滤,而Autowired是spring自身的实现注解,不能对其他框架提供兼容
+10086 建议使用@Resource进行注入!
nicewonders 2014-05-09
  • 打赏
  • 举报
回复
两个都用,工程大的时候会配合Qualitifier使用。
sd4324530 2014-05-08
  • 打赏
  • 举报
回复
@Autowired是spring包里的注解 @Resource是java包里的注解 所以我用@Autowired
  • 打赏
  • 举报
回复
都行的,习惯用@resource
whos2002110 2014-05-07
  • 打赏
  • 举报
回复
引用 12 楼 sunbo624 的回复:
spring 3推荐用Autowired
嗯, 我所参与的项目中都使用@Autowired
suciver 2014-05-07
  • 打赏
  • 举报
回复
像这种东西spring的开发手册都写的很清楚,楼主为何要来这问
sunbo624 2014-05-07
  • 打赏
  • 举报
回复
spring 3推荐用Autowired
beiouwolf 2014-05-07
  • 打赏
  • 举报
回复
Autowired 采用的是ApplicationContext.getBean(Class) 函数,根据接口类型注入,也就是说有多个相同类型的实例的话,就会报错了 Resource 采用ApplicationContext.getBean(String name)函数,根据托管实例的名称注入,同样相同名字的实例只能有一个 另外就是底层实现机制的不同,我记得根据spring文档上的说明,AOP环境中,Autowired采用了cglib进行代理构建,而Resource采用java代理进行构建 再有就是,对于其他可能的IoC框架而言,采用Resource可以实现平滑过滤,而Autowired是spring自身的实现注解,不能对其他框架提供兼容
hadoop333 2014-05-07
  • 打赏
  • 举报
回复
引用 15 楼 dxqrr 的回复:
一般按名称来
什么叫名称啊 能具体说下嘛 我学下
dxqrr 2014-05-07
  • 打赏
  • 举报
回复
一般按名称来
坐功资深者 2014-05-06
  • 打赏
  • 举报
回复
@Autowired @Resource都可以 可以这样理解 如下: @Autowired pirvate CurryUserService curryUserService; @Autowired pirvate CurryUserService abc; //这两种都可以注入成功 而 @Resource(name = "curryUserService") private CurryUserService curryUserService; //注入成功 @Resource(name = "curryUserService") private CurryUserService abc; //注入失败,因为对象名和@Resource中的name值不一致
流年无殇 2014-05-05
  • 打赏
  • 举报
回复
引用 6 楼 u014039623 的回复:
[quote=引用 4 楼 h82204 的回复:] @Autowired @Resource都可以 Autowired默认按类型装配 Resource默认安装名称进行装配
小猫你好 什么叫按类型装配 什么叫按照名称装配呢[/quote] 1、byName 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。 2、byType 如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生。
S117 2014-04-28
  • 打赏
  • 举报
回复
貌似现在比较流行用@Resource注解
nantaiwang 2014-04-28
  • 打赏
  • 举报
回复
Action层里面注入Service是自己封装的一个Spring容器。 ServiceProvider.getService()自己上网找吧……
大地之子 2014-04-25
  • 打赏
  • 举报
回复
引用 4 楼 h82204 的回复:
@Autowired @Resource都可以 Autowired默认按类型装配 Resource默认安装名称进行装配
小猫你好 什么叫按类型装配 什么叫按照名称装配呢
tony4geek 2014-04-25
  • 打赏
  • 举报
回复
都可以的。。。
流年无殇 2014-04-25
  • 打赏
  • 举报
回复
@Autowired @Resource都可以 Autowired默认按类型装配 Resource默认安装名称进行装配
小灯光环 2014-04-25
  • 打赏
  • 举报
回复

@Resource(name = "allRoleService")
private AllRoleService allRoleService;
小灯光环 2014-04-25
  • 打赏
  • 举报
回复
一般@Resource就行了吧~
加载更多回复(1)

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧