MyEclipse Spring开发教程:使用基本的Spring功能(四)
【史上最低】MyEclipse个人开发者专享7折!在线订购>>
Spring是一个应用比较广泛的框架集,本教程将重点介绍依赖注入,这是Spring渗透到所有Spring的核心功能之一。本教程还演示了MyEclipse如何在Spring应用程序开发过程中帮助您。您将学习到:
- 导入示例项目
- 使用UML类图和Spring Explorer进行项目可视化
- 创建一个新的bean定义和实现
持续时间:20-30分钟
还没有MyEclipse?立即下载
五、创建一个新Bean来替换拦截器
1. 右键单击com.springinaction.chapter01.knight包,然后选择New>Class。
2. 在Name字段中输入BetterMinstrelAdvice,然后单击Finish。
3. 复制以下代码,并替换默认的类代码,按CTRL + S保存。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package
com.springinaction.chapter01.knight;
import
java.lang.reflect.Method;
import
org.apache.log4j.Logger;
import
org.springframework.aop.MethodBeforeAdvice;
public
class
BetterMinstrelAdvice implements
MethodBeforeAdvice
{
public
void
before(Method method, Object[] args, Object target)
throws
Throwable
{
Knight
knight = (Knight) target;
Logger
song = Logger.getLogger(target.getClass());
song.debug("La
la
lee
la, our fair knight "
+ knight.getName() + "
has
performed "
+ method.getName() + "
with such grace!");
}
}
|
要将此新实现插入到新的Spring应用程序中,您需要在bean配置文件中创建一个新的bean定义,并将Knight的minstrel拦截器替换为新的更好的Minstrel拦截器。
4. 打开applicationContext.xml,单击Overview标签,然后单击New Bean。
5. 在Bean Id字段中键入betterMinstrel,然后单击Bean Class字段旁边的Browse。
6. 在搜索字段中输入better,选择BetterMinstrelAdvice,然后单击OK。
7. 单击Finish来创建新的bean,然后按CTRL + S保存bean配置文件。 新的bean出现在Spring Explorer视图中。
8. 在Spring Explorer中,展开Knight Bean> Interceptor Names> List,然后双击minstrel。 minstrel值在配置源中突出显示。
9. 用minMinstrel替换minstrel值,然后按CTRL + S进行保存。
10. 再次运行KnightApp类以查看更改的结果。控制台视图中显示以下输出:
[DEBUG] 11:38:57 KnightApp - Running KnightApp
[DEBUG] 11:38:57 KnightOfTheRoundTable - La la lee la, our fair knight Bedivere has performed embarkOnQuest with such grace!
[DEBUG] 11:38:57 KnightApp - KnightApp Finished
您可以真正看到Spring在您的项目中允许的模块化的价值,在正在测试中立即插拔应用程序部分是最明显的用途之一。考虑到一个Web应用程序,您可以编写模拟DAO实现,并在运行所有测试用例之前将其插入,而无需更改任何内容。您可以通过Spring将测试类连接到测试DAO类,而不是需要活动数据库连接的实际类。
另一个例子是切换应用程序的整个实现细节(如缓存,数据访问等),而不会破坏应用程序或花费时间重构应用程序本身的类和引用。