﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-SoA爱好者-文章分类-Spring</title><link>http://www.blogjava.net/51AOP/category/10478.html</link><description>关注SoA发展</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:49:48 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:49:48 GMT</pubDate><ttl>60</ttl><item><title>使用Spring Quartz执行定时任务</title><link>http://www.blogjava.net/51AOP/articles/43588.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Thu, 27 Apr 2006 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/43588.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/43588.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/43588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/43588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/43588.html</trackback:ping><description><![CDATA[<table cellspacing="0" cellpadding="0" width="95%" align="center" border="0">
				<tbody>
						<tr>
								<td>
										<a href="http://www.52blog.net/user1/580/archives/2005/101299.shtmlQuartz" target="_blank">
												<br />
												<font color="#000000">http://www.52blog.net/user1/580/archives/2005/101299.shtml </font>
												<br />Quartz</a>是OpenSymphony下的一个开源项目，提供了比JDK的TimeTask更强大的定时任务执行功能。<a href="http://www.springframework.org/" target="_blank">Spring</a>在Quartz的基础上包装了一层，使得在不使用数据库配置Quartz的情况下，不必再用Quartz的JavaBean设置参数，代码更优雅，可配置性高。 
<p> 下面我就举个简单的例子。首先，配置Spring的配置文件，起名叫applicationContext.xml</p><table bordercolor="#333333" cellspacing="2" cellpadding="3" width="100%" align="center" bgcolor="#eeeeee" border="1"><tbody><tr><td><p> &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<a href="http://www.springframework.org/dtd/spring-beans.dtd">http://www.springframework.org/dtd/spring-beans.dtd</a>"&gt;<br />&lt;beans&gt;</p><p> &lt;!-- 配置 --&gt;<br /> &lt;bean name="randomPriceJob" class="org.springframework.scheduling.quartz.JobDetailBean"&gt;<br />  <br />  &lt;property name="jobClass"&gt;<br />   &lt;value&gt;test.RandomPriceJob&lt;/value&gt;<br />  &lt;/property&gt;<br />  <br />  &lt;property name="jobDataAsMap"&gt;<br />   &lt;map&gt;<br />    &lt;entry key="timeout"&gt;&lt;value&gt;5&lt;/value&gt;&lt;/entry&gt;<br />   &lt;/map&gt;<br />  &lt;/property&gt;<br />  <br /> &lt;/bean&gt;<br /> &lt;!-- 配置触发器 --&gt; <br /> &lt;bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"&gt;<br />  <br />  &lt;property name="jobDetail"&gt;<br />   &lt;ref bean="randomPriceJob"/&gt;<br />  &lt;/property&gt;<br />  &lt;!-- 每天的11点到11点59分中，每分钟触发RandomPriceJob，具体说明见附录 --&gt;<br />  &lt;property name="cronExpression"&gt;<br />   &lt;value&gt;0 * 11 * * ?&lt;/value&gt;<br />  &lt;/property&gt;<br />  <br /> &lt;/bean&gt;<br /><br /> &lt;bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt;</p><p>  &lt;!-- 添加触发器 --&gt;<br />  &lt;property name="triggers"&gt;<br />   &lt;list&gt;<br />    &lt;ref local="cronTrigger"/&gt;<br />   &lt;/list&gt;<br />  &lt;/property&gt;<br /> &lt;/bean&gt;<br /> <br />&lt;/beans&gt;</p></td></tr></tbody></table><p>然后编写具体操作代码</p><table bordercolor="#333333" cellspacing="2" cellpadding="3" width="100%" align="center" bgcolor="#eeeeee" border="1"><tbody><tr><td><p>package test;</p><p>import org.apache.log4j.Category;<br /><br />import org.quartz.JobExecutionContext;<br />import org.quartz.JobExecutionException;<br />import org.springframework.scheduling.quartz.QuartzJobBean;</p><p>/**<br /> * @author shenshan<br /> * @version 1.0<br /> */<br />public class RandomPriceJob extends QuartzJobBean<br />{<br /> private static final Category cat = Category<br />            .getInstance( RandomPriceJob.class );</p><p> private int      timeout;</p><p> /**<br />  * @param timeout<br />  */<br /> public void setTimeout( int timeout )<br /> {<br />  this.timeout = timeout;<br /> }</p><p> /*<br />  * (non-Javadoc)<br />  * <br />  * @see org.springframework.scheduling.quartz.QuartzJobBean＃e xecuteInternal(org.quartz.JobExecutionContext)<br />  */<br /> protected void executeInternal( JobExecutionContext context )<br />   throws JobExecutionException<br /> {<br />    cat.debug( "Job start" );</p><p>  //执行具体操作</p><p> }<br />}</p></td></tr></tbody></table><p> 最后编写运行程序</p><table bordercolor="#333333" cellspacing="2" cellpadding="3" width="100%" align="center" bgcolor="#eeeeee" border="1"><tbody><tr><td><p> package test;</p><p>import org.quartz.Scheduler;<br />import org.quartz.impl.StdSchedulerFactory;<br />import org.springframework.beans.factory.xml.XmlBeanFactory;<br />import org.springframework.core.io.ClassPathResource;<br />import org.springframework.scheduling.quartz.CronTriggerBean;<br />import org.springframework.scheduling.quartz.JobDetailBean;</p><p>/**<br /> * @author shenshan<br /> * @version 1.0<br /> */<br />public class RandomPrice<br />{</p><p> public static void main( String[ ] args ) throws Exception<br /> {<br />  ClassPathResource res = new ClassPathResource( "applicationContext.xml" );<br />  XmlBeanFactory factory = new XmlBeanFactory( res );<br />  JobDetailBean job = ( JobDetailBean ) factory<br />    .getBean( "randomPriceJob" );<br />  CronTriggerBean trigger = ( CronTriggerBean ) factory<br />    .getBean( "cronTrigger" );<br />  Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler( );<br />  scheduler.start( );<br />  scheduler.scheduleJob( job, trigger );<br /> }<br />}</p></td></tr></tbody></table><p>编译后运行RandomPrice就OK了。需要注意的是，必须使用main函数才能运行，不能使用JUnit。</p><p>附：cronExpression配置说明</p><p></p><table cellspacing="8"><tbody><tr><th align="left">字段</th><th align="left"> </th><th align="left">允许值</th><th align="left"> </th><th align="left">允许的特殊字符</th></tr><tr><td align="left"><code>秒</code></td><td align="left"> </td><td align="left"><code>0-59</code></td><td align="left"> </td><td align="left"><code>, - * /</code></td></tr><tr><td align="left"><code>分</code></td><td align="left"> </td><td align="left"><code>0-59</code></td><td align="left"> </td><td align="left"><code>, - * /</code></td></tr><tr><td align="left"><code>小时</code></td><td align="left"> </td><td align="left"><code>0-23</code></td><td align="left"> </td><td align="left"><code>, - * /</code></td></tr><tr><td align="left"><code>日期</code></td><td align="left"> </td><td align="left"><code>1-31</code></td><td align="left"> </td><td align="left"><code>, - * ? / L W C</code></td></tr><tr><td align="left"><code>月份</code></td><td align="left"> </td><td align="left"><code>1-12 或者 JAN-DEC</code></td><td align="left"> </td><td align="left"><code>, - * /</code></td></tr><tr><td align="left"><code>星期</code></td><td align="left"> </td><td align="left"><code>1-7 或者 SUN-SAT</code></td><td align="left"> </td><td align="left"><code>, - * ? / L C #</code></td></tr><tr><td align="left"><code>年（可选）</code></td><td align="left"> </td><td align="left"><code>留空, 1970-2099</code></td><td align="left"> </td><td align="left"><code>, - * /</code></td></tr></tbody></table><table cellspacing="8"><tbody><tr><th align="left">表达式</th><th align="left"> </th><th align="left">意义</th></tr><tr><td align="left"><code>"0 0 12 * * ?"</code></td><td align="left"> </td><td align="left"><code>每天中午12点触发</code></td></tr><tr><td align="left"><code>"0 15 10 ? * *"</code></td><td align="left"> </td><td align="left"><code>每天上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 * * ?"</code></td><td align="left"> </td><td align="left"><code>每天上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 * * ? *"</code></td><td align="left"> </td><td align="left"><code>每天上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 * * ? 2005"</code></td><td align="left"> </td><td align="left"><code>2005年的每天上午10:15</code><font face="新宋体">触发</font></td></tr><tr><td align="left"><code>"0 * 14 * * ?"</code></td><td align="left"> </td><td align="left"><code>在每天下午2点到下午2:59期间的每1分钟触发</code></td></tr><tr><td align="left"><code>"0 0/5 14 * * ?"</code></td><td align="left"> </td><td align="left"><code>在每天下午2点到下午2:55期间的每5分钟触发</code></td></tr><tr><td align="left"><code>"0 0/5 14,18 * * ?"</code></td><td align="left"> </td><td align="left"><code>在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发</code></td></tr><tr><td align="left"><code>"0 0-5 14 * * ?"</code></td><td align="left"> </td><td align="left"><code>在每天下午2点到下午2:05期间的每1分钟触发</code></td></tr><tr><td align="left"><code>"0 10,44 14 ? 3 WED"</code></td><td align="left"> </td><td align="left"><code>每年三月的星期三的下午2:10和2:44触发</code></td></tr><tr><td align="left"><code>"0 15 10 ? * MON-FRI"</code></td><td align="left"> </td><td align="left"><code>周一至周五的上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 15 * ?"</code></td><td align="left"> </td><td align="left"><code>每月15日上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 L * ?"</code></td><td align="left"> </td><td align="left"><code>每月最后一日的上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 ? * 6L"</code></td><td align="left"> </td><td align="left"><code>每月的最后一个星期五上午10:15触发 </code></td></tr><tr><td align="left"><code>"0 15 10 ? * 6L 2002-2005"</code></td><td align="left"> </td><td align="left"><code>2002年至2005年的每月的最后一个星期五上午10:15触发</code></td></tr><tr><td align="left"><code>"0 15 10 ? * 6#3"</code></td><td align="left"> </td><td align="left"><code>每月的第三个星期五上午10:15触发</code></td></tr></tbody></table></td>
						</tr>
				</tbody>
		</table><img src ="http://www.blogjava.net/51AOP/aggbug/43588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-04-27 15:53 <a href="http://www.blogjava.net/51AOP/articles/43588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring IDE Guide </title><link>http://www.blogjava.net/51AOP/articles/43029.html</link><dc:creator>冰雨</dc:creator><author>冰雨</author><pubDate>Tue, 25 Apr 2006 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/51AOP/articles/43029.html</guid><wfw:comment>http://www.blogjava.net/51AOP/comments/43029.html</wfw:comment><comments>http://www.blogjava.net/51AOP/articles/43029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/51AOP/comments/commentRss/43029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/51AOP/services/trackbacks/43029.html</trackback:ping><description><![CDATA[<h1 id="SpringIDEGuide">Spring IDE Guide<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#SpringIDEGuide"> ¶</a></h1>
		<p>From: <a href="http://springide.org/project/wiki/SpringideGuide">http://springide.org/project/wiki/SpringideGuide</a> <br /><br />To start working with Spring IDE you need a <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a>. A <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a> can be created by adding the <a class="wiki" href="http://springide.org/project/wiki/SpringProjectNature">SpringProjectNature</a> to an existing project or by <a class="wiki" href="http://springide.org/project/wiki/SpringideGuide#CreatenewSpringproject">creating a new Spring project</a> with the <a class="wiki" href="http://springide.org/project/wiki/SpringProjectWizard">SpringProjectWizard</a>. </p>
		<h2 id="AddSpringProjectnature">Add <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a> nature<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#AddSpringProjectnature"> ¶</a></h2>
		<ul>
				<li>select open project nodes in Eclipse resource navigator or JDT package explorer 
</li>
				<li>activate context menu item "Add Spring Project Nature" on selected projects </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddNature.png">
						<img title="added screenshoot" alt="added screenshoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddNature.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>once the nature is added, these projects are now decorated with a small 'S' in the upper right corner (overwriting other decorators, e.g. Java project decorator 'J') </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/NatureAdded.png">
						<img title="added screenshoot" alt="added screenshoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/NatureAdded.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>to remove the nature, right click the project and select "Remove Spring Project Nature" </li>
		</ul>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a>, <a class="wiki" href="http://springide.org/project/wiki/SpringProjectNature">SpringProjectNature</a></p>
		<h2 id="CreatenewSpringProject">Create new <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a><a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#CreatenewSpringProject"> ¶</a></h2>
		<ul>
				<li>open the wizard selection dialog via the menu "File / New / Project..." </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizardSelection.png">
						<img title="Screenshoot of wizard selection dialog" alt="Screenshoot of wizard selection dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizardSelection.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>select the wizard "Spring IDE / New Spring Project" </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizard.png">
						<img title="Screenshoot of Spring project wizard" alt="Screenshoot of Spring project wizard" src="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizard.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>enter the project name 
</li>
				<li>(optionally) modify the comma-separated list of supported <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file extensions (default is "xml") 
</li>
				<li>if you don't need a Java project then deselect the checkbox "Create a Java project" 
</li>
				<li>for a Java project you can change the project's settings (source / classes folder, classpath, libraries, ...) on the next dialog page </li>
		</ul>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/SpringProject">SpringProject</a></p>
		<h2 id="AddreferencestootherSpringprojectsoptional">Add references to other Spring projects (optional)<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#AddreferencestootherSpringprojectsoptional"> ¶</a></h2>
		<ul>
				<li>open a Spring project's properties dialog from the context menu in Eclipse resource navigator or JDT package explorer 
</li>
				<li>select the properties page "Project References" from the list on the left side 
</li>
				<li>enable all Spring project(s) containing Spring Beans config files which are referenced from within this project via Spring Beans config sets (defined later on) </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/ProjectReference.png">
						<img title="added screenshoot" alt="added screenshoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/ProjectReference.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a></p>
		<h2 id="AddSpringBeansConfigfiles">Add Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#AddSpringBeansConfigfiles"> ¶</a></h2>
		<ul>
				<li>open a Spring project's properties dialog from the context menu in Eclipse resource navigator or JDT package explorer 
</li>
				<li>select the properties page "Spring Beans" from the list on the left side </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles1.png">
						<img title="Spring project properties dialog with BeansConfig tab" alt="Spring project properties dialog with BeansConfig tab" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles1.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>(optionally) modify the comma-separated list of supported <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file extensions (default is "xml") 
</li>
				<li>use the button "Add..." to open a selector dialog providing a list of all files with the specified extensions in your Spring project and select the corresponding Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles2.png">
						<img title="Spring project properties dialog with Add BeansConfig dialog" alt="Spring project properties dialog with Add BeansConfig dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles2.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>once the config files are selected the corresponding files are decorated with a small 'S' in Eclipse resource navigator or JDT package explorer </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles3.png">
						<img title="Package explorer with decorated BeansConfig files" alt="Package explorer with decorated BeansConfig files" src="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles3.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="missing wiki" href="http://springide.org/project/wiki/BeansProjectProperties" rel="nofollow">BeansProjectProperties?</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a></p>
		<h2 id="CreateSpringBeansConfigfilesetsoptional">Create Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file sets (optional)<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#CreateSpringBeansConfigfilesetsoptional"> ¶</a></h2>
		<ul>
				<li>open a Spring project's properties dialog from the context menu in Eclipse resource navigator or JDT package explorer 
</li>
				<li>select the properties page "Spring Beans" from the list on the left side 
</li>
				<li>select the second tab labeled "Config Sets" </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets1.png">
						<img title="Spring project properties dialog with BeansConfigSet tab" alt="Spring project properties dialog with BeansConfigSet tab" src="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets1.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>use the button "New..." to open a dialog for creating a new config set with a selection of all config files (added in the previous step) belonging to this config set 
<ul><li>define a unique name for the config set 
</li><li>activate the checkbox "Enable bean override" if multiple beans with the same ID should be overidden by the last bean (used by the <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a> only -&gt; if activated then bean overriding is not treated as validation error) 
</li><li>activate the checkbox "Is incomplete" if this config set does not contain all beans which are referenced by other beans defined in this config set (used by the <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a> only -&gt; if activated then unresolved bean references are not treated as validation errors) 
</li><li>externally defined config files (as described in section "Add references to other Spring projects") are decorated with a small blue arrow) </li></ul></li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets2.png">
						<img title="Create new BeansConfigSet dialog" alt="Create new BeansConfigSet dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets2.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>use the buttons "Move Up" and "Move Down" to change the order of the config files within the config set (important for bean overriding) </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets3.png">
						<img title="Spring project properties dialog with BeansConfigSet tab" alt="Spring project properties dialog with BeansConfigSet tab" src="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets3.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a></p>
		<h2 id="OpenSpringBeansView">Open Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a><a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#OpenSpringBeansView"> ¶</a></h2>
		<ul>
				<li>select from within any of the added Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files opened in an Eclipse editor the menu item "Navigate/Show In/Spring Beans" </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView1.png">
						<img title="added screen shoot" alt="added screen shoot" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView1.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>once the menu item is selected the Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> is opened and the corresponding Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file is selected in the view's model </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView2.png">
						<img title="Editor and Beans View" alt="Editor and Beans View" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView2.png?format=raw" />
				</a>
		</p>
		<ul>
				<li>double-clicking on certain entries in the Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> (bean, property or constructor argument) navigates to the corresponding location in the config file 
</li>
				<li>by selecting the corresponding toolbar actions the <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> supports alphabetical sorting and syncing with the <a class="wiki" href="http://springide.org/project/wiki/BeansXmlEditor">BeansXmlEditor</a></li>
		</ul>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansXmlEditor">BeansXmlEditor</a></p>
		<h2 id="ValidateSpringBeansConfigfile">Validate Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> file<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#ValidateSpringBeansConfigfile"> ¶</a></h2>
		<ul>
				<li>after modifying and saving any of the added Spring <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files from within an open Eclipse editor this config is automatically validated by Spring IDE 
</li>
				<li>for any error occured during validation a problem marker is created and listed in Eclipse's problem view </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/ConfigValidator.png">
						<img title="Editor with problem markers and problem view" alt="Editor with problem markers and problem view" src="http://springide.org/project/attachment/wiki/SpringideGuide/ConfigValidator.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigValidator">BeansConfigValidator</a></p>
		<h2 id="OpenSpringBeansGraph">Open Spring <a class="wiki" href="http://springide.org/project/wiki/BeansGraph">BeansGraph</a><a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#OpenSpringBeansGraph"> ¶</a></h2>
		<ul>
				<li>right-clicking on certain entries in the Spring <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a> (config, config set or bean) opens a read-only editor showing a graph with all beans referenced by the selected view entry </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansGraph.png">
						<img title="BeansGraph with outline view" alt="BeansGraph with outline view" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansGraph.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansView">BeansView</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a>, <a class="wiki" href="http://springide.org/project/wiki/BeansGraph">BeansGraph</a></p>
		<h2 id="SearchforSpringBeans">Search for Spring Beans<a class="anchor" title="Link to this section" href="http://springide.org/project/wiki/SpringideGuide#SearchforSpringBeans"> ¶</a></h2>
		<ul>
				<li>open the search dialog via the "Search / Search..." menu 
</li>
				<li>select the tab "Spring Beans Search" to switch to the <a class="wiki" href="http://springide.org/project/wiki/BeansSearch">BeansSearch</a> dialog </li>
		</ul>
		<p>
				<a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansSearch.png">
						<img title="Screenshoot of Spring Beans search dialog" alt="Screenshoot of Spring Beans search dialog" src="http://springide.org/project/attachment/wiki/SpringideGuide/BeansSearch.png?format=raw" />
				</a>
		</p>
		<hr />
		<p>See also: <a class="wiki" href="http://springide.org/project/wiki/BeansSearch">BeansSearch</a></p>
		<h3 id="tkt-changes-hdr">Attachments</h3>
		<ul class="tkt-chg-list">
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddNature.png">AddNature.png</a> (55.5 kB) -<q>added screenshoot</q>, added by tjuerge on 07/16/05 16:14:33. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/NatureAdded.png">NatureAdded.png</a> (11.3 kB) -<q>added screenshoot</q>, added by tjuerge on 07/16/05 16:14:44. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/ProjectReference.png">ProjectReference.png</a> (67.9 kB) -<q>added screenshoot</q>, added by tjuerge on 07/16/05 16:36:31. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView1.png">BeansView1.png</a> (107.8 kB) -<q>added screen shoot</q>, added by tjuerge on 07/16/05 18:23:19. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizardSelection.png">SpringProjectWizardSelection.png</a> (25.5 kB) -<q>Screenshoot of wizard selection dialog</q>, added by tjuerge on 04/04/06 22:53:39. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/SpringProjectWizard.png">SpringProjectWizard.png</a> (51.3 kB) -<q>Screenshoot of Spring project wizard</q>, added by tjuerge on 04/04/06 22:56:07. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansSearch.png">BeansSearch.png</a> (178.1 kB) -<q>Screenshoot of Spring Beans search dialog</q>, added by tjuerge on 04/04/06 23:21:51. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles2.png">AddConfigFiles2.png</a> (80.9 kB) -<q>Spring project properties dialog with Add <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> dialog</q>, added by tjuerge on 04/24/06 00:24:35. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles1.png">AddConfigFiles1.png</a> (74.7 kB) -<q>Spring project properties dialog with <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> tab</q>, added by tjuerge on 04/24/06 00:25:05. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/AddConfigFiles3.png">AddConfigFiles3.png</a> (31.0 kB) -<q>Package explorer with decorated <a class="wiki" href="http://springide.org/project/wiki/BeansConfig">BeansConfig</a> files</q>, added by tjuerge on 04/24/06 00:26:00. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets1.png">CreateConfigSets1.png</a> (106.0 kB) -<q>Spring project properties dialog with <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a> tab</q>, added by tjuerge on 04/24/06 00:42:41. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets2.png">CreateConfigSets2.png</a> (49.5 kB) -<q>Create new <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a> dialog</q>, added by tjuerge on 04/24/06 00:43:18. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/CreateConfigSets3.png">CreateConfigSets3.png</a> (114.8 kB) -<q>Spring project properties dialog with <a class="wiki" href="http://springide.org/project/wiki/BeansConfigSet">BeansConfigSet</a> tab</q>, added by tjuerge on 04/24/06 00:44:37. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansView2.png">BeansView2.png</a> (211.8 kB) -<q>Editor and Beans View</q>, added by tjuerge on 04/24/06 00:52:00. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/ConfigValidator.png">ConfigValidator.png</a> (200.6 kB) -<q>Editor with problem markers and problem view</q>, added by tjuerge on 04/24/06 01:09:40. 
</li>
				<li class="tkt-chg-change">
						<a href="http://springide.org/project/attachment/wiki/SpringideGuide/BeansGraph.png">BeansGraph.png</a> (155.8 kB) -<q><a class="wiki" href="http://springide.org/project/wiki/BeansGraph">BeansGraph</a> with outline view</q>, added by tjuerge on 04/24/06 01:13:27. </li>
		</ul><img src ="http://www.blogjava.net/51AOP/aggbug/43029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/51AOP/" target="_blank">冰雨</a> 2006-04-25 15:10 <a href="http://www.blogjava.net/51AOP/articles/43029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>