spirng3.0 IOC

本文详细介绍了 Spring 3.0 中的 bean 声明方式,包括 XML 和 Annotation 的联合使用。重点讨论了 DispatchServlet 的作用域、组件扫描、bean 引用及注解的正确应用,并解答了关于 @Aspect 注解的疑问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring 3.0 提供了灵活多变的bean声明方式 个人任务基于xml和annotation方式联合使用是一种比较合理的方式,下面是使用过程中的需要注意的点
1:每一个DispatchServlet都有自己的作用域,他是继承自公共域,所以公共域中的所有定义在dispatchServlet中是可以直接使用的。(注意:用注释定义的资源全部属于子类,也就是DispatchServlet的作用域,在公共域中不能引用)
2:首先在xml中声明<context:component-scan base-package="com.td.mvc"></context:component-scan> 意思是需要扫描注释的路径。
然后可以用@service注释来定义bean 或者@control来定义bean
3:在引用的过程中可以用@resource(name="beanName")在set方法上定义需要引用的bean或者定义在参数上,如果是定义在参数上,可以将set方法省略(推荐)。注意:有时候用@AutoWired可以而用@Resource不行,这是以为@Resourec是J2EE中的定义,你需要加入Common-Annotations.jar这个包,一切问题都没了。
4:如果需要使用@Aspect注解,需要在spring中添加
<aop:aspectj-autoproxy>
<aop:include name="log*"/>
</aop:aspectj-autoproxy>
name 是一个正则表达式,对应在context中相应的bean名字
5:@service 可以和 @Aspect同时使用

疑问(还未解决):
1、如果在xml中定义了bean,然后在相应bean中用@Resource做引用,会出现引用为空的情况,个人推测是xml配置和annotation之间有先后顺序,但是如果bean不在xml中定义,直接用@Service注解定义,则可以和@Resource一起使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值