Spring设置
你能嵌入Jetty到你的项目中,也能够使用差点儿全部的IoC类型框架,包含Spring。假设全部你想做的是在你的Spring中设置Jetty Server,那么以下的xml片段能够作为一个样例。假设你想使用spring代替jetty-xml也是能够的,但这样将不能利用模块系统的其余部分。
Jetty-Spring模块
一个Jetty Spring模块的框架能通过模块机制激活。比如:
$ java -jar start.jar --add-to-startd=spring
这(或者使用--add-to-start=spring命令)创建一个${jetty.home}/lib/spring目录和放置jetty-spring集成jar到里面。它不提供spring jars和他们的依赖,你将须要下载这些而且放置他们到jetty的classpath - 你能用被spring.mod创建的${jetty.home}/lib/spring。
用Spring配置Jetty
通过Spring配置Jetty就是一个将API作为Spring beans调用的问题。下卖弄是一个样例,模仿默认jetty启动配置:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- =============================================================== --> <!-- Configure the Jetty Server with Spring --> <!-- This file is the similar to jetty.xml, but written in spring --> <!-- XmlBeanFactory format. --> <!-- =============================================================== --> <beans> <bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> <bean id="server" name="Main" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop"> <constructor-arg> <bean id="threadPool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"> <property name="minThreads" value="10"/> <property name="maxThreads" value="50"/> </bean> </constructor-arg> <property name="connectors"> <list> <bean id="connector" class="org.eclipse.jetty.server.ServerConnector"> <constructor-arg ref="server"/> <property name="port" value="8080"/> </bean> </list> </property> <property name="handler"> <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> <property name="handlers"> <list> <ref bean="contexts"/> <bean id="defaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> </list> </property> </bean> </property> <property name="beans"> <list> <bean id="deploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> <property name="contexts" ref="contexts"/> <property name="appProviders"> <list> <bean id="webAppProvider" class="org.eclipse.jetty.deploy.providers.WebAppProvider"> <property name="monitoredDirName" value="webapps"/> <property name="scanInterval" value="1"/> <property name="extractWars" value="true"/> </bean> </list> </property> </bean> </list> </property> </bean> </beans>