MyEclipse for spring v8.6.1正式版是一款新推出的集成开发环境。这款软件可以轻松的创建项目向导和基于spring的应用,提高了用户的各种效率。有需要的用户赶快来9553下载体验吧。
1、MyEclipse for Spring 8.5是MyEclipse家族的成员之一,其最大的特点就是提供了更强悍的针对Spring框架的支持。其实在MyEclipse 8.5中已经提供了针对Spring框架的一些支持,集成了Spring IDE,但是这些对于那些针对Spring开发的开发者来说或许还不足够,他们需要的是更强大,更有针对性的开发工具。由于Spring的广泛使用以及Spring开发者的呼声高涨,MyEclipse for Spring 8.5随之出现。
2、MyEclipse for Spring 8.5提供对Spring MVC的强大支持功能,针对Spring的更专业的编辑器,以及针对Spring项目的项目创建向导等功能,让Spring开发者可以更轻松的通过MyEclipse for Spring 8.5快速创建一个基于Spring的应用。
3、除此之外MyEclipse for Spring 8.5也提供了MyEclipse 8.5几乎全部特性支持,这让MyEclipse for Spring 8.5比起MyEclipse 8.5几乎是有过之而无不及。最后MyEclipse for Spring 8.5也是基于Eclipse 3.5.2,因此使用MyEclipse 8.5的朋友可以无缝的平移到MyEclipse for Spring 8.5上。
一、导入示例项目
1. 选择File>Import,展开General,然后选择Existing Projects进入Workspace,单击Next。
2. 选择Select archive file选项,然后浏览下载压缩文件,单击Finish。
导入示例项目
项目将显示在资源管理器中。
项目导入到工作区
由于此项目是使用旧版本的MyEclipse创建的,因此将打开项目迁移向导。 按照向导中的步骤迁移项目。
导入项目后,您可以使用MyEclipse的一些高级软件开发功能来更好地了解如何构建这个Spring应用程序。
二、使用UML和Spring Explorer可视化项目
源代码的UML类图允许您查看类是如何互相关联的。您刚刚导入的示例项目已经在名为Knight.umr的src/java文件夹的根目录中包含这个UMR(UML模型存储库)文件。双击该文件打开图表。
Knight应用程序的UML类图
该图表提供了knights、quests、exceptions和应用程序中涉及的其他类之间的即时可视化关联。虽然这个应用程序很小,但您可以轻松地逆向设计一个更大的应用程序来了解它的外观。在这种情况下,从Package Explorer中选择这些类,并将其下载到一个新的类图上来获得此结果。
能非常好的查看一个UML类图,但是它并不能整个说明,特别是对于一个Spring应用程序来讲。为此,MyEclipse Spring Explorer视图可以帮助可视化应用程序获取不同beans之间的关系。
Spring Explorer是通过一个或多个Spring bean配置文件显示您的Spring应用程序中配置的所有bean。这些配置文件没有明确定义的命名约定(如struts-config.xml,faces-config.xml等),应用程序可以包含任意数量的bean配置文件。因此,MyEclipse允许您配置代表您的bean配置的XML文件列表。此信息可以在MyEclipse> Spring> Beans下的项目属性中找到。
1. 右键单击Knight项目,选择Properties。
2. 展开Project Facets>Spring,然后选择Beans。这是现有的bean配置文件的列表,单击Cancel。
Spring beans属性
3. 通过选择Window>Show View>Other打开Spring Explorer视图,展开MyEclipse Java Enterprise,然后选择Spring Explorer。该项目出现在Spring Explorer视图中。
Spring Explorer视图中的项目bean
4. 双击bean配置文件——applicationContext.xml,然后在编辑器的底部单击Beans Graph标签。
Bean依赖图
从Spring beans的图表中可以看出,Knight引用了一个minstrel和knightTarget,而Knight embarks又向其提出了一个请求。应用程序以拦截器的形式使用Aspect Oriented Programming (AOP)来实现minstrel。
三、运行代码
在通过"before"方法拦截器进行操作之前,minstrel将"sing"(实际记录)关于Knight所采取的操作。在实际操作发生之前,这种类型的"before"拦截器是一种执行操作的方法(例如在控制台上写下关于Knight将要做什么的描述)。要实现这一点,您可以指示Spring将这个拦截器编入bean定义中的其他类操作。
MyEclipse可以帮助您快速浏览您的Spring应用程序。 在这种情况下,假设您想查看这个minstrel是如何实现的。您可以在图中双击minstrel bean,在Spring bean配置文件中跳转到该定义,然后使用CTRL + Click,可以直接跳转到minstrel implementation。
1. 在图中双击minstrel bean,Spring bean配置文件打开minstrel bean。
Minstrel bean中的bean配置文件
2. 按住CTRL,然后单击MinstrelAdvice类来打开它的资源,这个类记录knight的操作。
MinstrelAdvice类源文件
3. 在资源管理器中,展开Knight project>src/java>com.springinaction.chapter01.knight,然后双击KnightApp.java。
4. 单击运行图标下拉箭头,然后选择Run As>Java Application。控制台视图中显示以下输出:
[DEBUG] 10:51:03 KnightApp - Running KnightApp
[DEBUG] 10:51:04 KnightOfTheRoundTable - Brave Bedivere did embarkOnQuest
[DEBUG] 10:51:04 KnightApp - KnightApp Finished
您可以看到默认的minstrel implementation输出“Brave Bedivere did embarkOnQuest”行。假设你想要一个不同的minstrel implementation,但不想要重新编译整个MinstrelAdvice类。这根本不是问题,您只需要编写一个新的minstrel implementation,然后使用Spring将其插入即可。
四、创建一个新Bean来替换拦截器
1. 右键单击com.springinaction.chapter01.knight包,然后选择New>Class。
2. 在Name字段中输入BetterMinstrelAdvice,然后单击Finish。
3. 复制以下代码,并替换默认的类代码,按CTRL + S保存。
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。
Selecting the bean class for the new bean
7. 单击Finish来创建新的bean,然后按CTRL + S保存bean配置文件。 新的bean出现在Spring Explorer视图中。
Creating a new bean
8. 在Spring Explorer中,展开Knight Bean> Interceptor Names> List,然后双击minstrel。 minstrel值在配置源中突出显示。
Selecting the interceptor property value of the Knight bean
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类,而不是需要活动数据库连接的实际类。
另一个例子是切换应用程序的整个实现细节(如缓存,数据访问等),而不会破坏应用程序或花费时间重构应用程序本身的类和引用。