845005816.cache 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema xmlns="http://www.springframework.org/schema/context"
  3. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  4. xmlns:beans="http://www.springframework.org/schema/beans"
  5. xmlns:tool="http://www.springframework.org/schema/tool"
  6. targetNamespace="http://www.springframework.org/schema/context"
  7. elementFormDefault="qualified"
  8. attributeFormDefault="unqualified">
  9. <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"/>
  10. <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.0.xsd"/>
  11. <xsd:annotation>
  12. <xsd:documentation><![CDATA[
  13. Defines the configuration elements for the Spring Framework's application
  14. context support. Effects the activation of various configuration styles
  15. for the containing Spring ApplicationContext.
  16. ]]></xsd:documentation>
  17. </xsd:annotation>
  18. <xsd:complexType name="propertyPlaceholder">
  19. <xsd:attribute name="location" type="xsd:string">
  20. <xsd:annotation>
  21. <xsd:documentation><![CDATA[
  22. The location of the properties file to resolve placeholders against, as a Spring
  23. resource location: a URL, a "classpath:" pseudo URL, or a relative file path.
  24. Multiple locations may be specified, separated by commas. If neither location nor properties-ref is
  25. specified, placeholders will be resolved against system properties.
  26. ]]></xsd:documentation>
  27. </xsd:annotation>
  28. </xsd:attribute>
  29. <xsd:attribute name="properties-ref" type="xsd:string">
  30. <xsd:annotation>
  31. <xsd:documentation source="java:java.util.Properties"><![CDATA[
  32. The bean name of a Java Properties object that will be used for property substitution.
  33. If neither location nor properties-ref is specified, placeholders will be resolved against system properties.
  34. ]]></xsd:documentation>
  35. </xsd:annotation>
  36. </xsd:attribute>
  37. <xsd:attribute name="file-encoding" type="xsd:string">
  38. <xsd:annotation>
  39. <xsd:documentation><![CDATA[
  40. Specifies the encoding to use for parsing properties files. Default is none,
  41. using the java.util.Properties default encoding. Only applies to classic
  42. properties files, not to XML files.
  43. ]]></xsd:documentation>
  44. </xsd:annotation>
  45. </xsd:attribute>
  46. <xsd:attribute name="order" type="xsd:integer">
  47. <xsd:annotation>
  48. <xsd:documentation><![CDATA[
  49. Specifies the order for this placeholder configurer. If more than one is present in a context
  50. the order can be important since the first one to be match a placeholder will win. Often used
  51. in conjunction with
  52. ]]></xsd:documentation>
  53. </xsd:annotation>
  54. </xsd:attribute>
  55. <xsd:attribute name="ignore-resource-not-found" type="xsd:boolean"
  56. default="false">
  57. <xsd:annotation>
  58. <xsd:documentation><![CDATA[
  59. Specifies if failure to find the property resource location should be ignored. Default
  60. is "false", meaning that if there is no file in the location specified an exception will
  61. be raised at runtime.
  62. ]]></xsd:documentation>
  63. </xsd:annotation>
  64. </xsd:attribute>
  65. <xsd:attribute name="ignore-unresolvable" type="xsd:boolean"
  66. default="false">
  67. <xsd:annotation>
  68. <xsd:documentation><![CDATA[
  69. Specifies if failure to find the property value to replace a key should be ignored. Default
  70. is "false", meaning that this placeholder configurer will raise an exception if it cannot resolve
  71. a key. Set to "true" to allow the configurer to pass on the key to any others in
  72. the context that have not yet visited the key in question.
  73. ]]></xsd:documentation>
  74. </xsd:annotation>
  75. </xsd:attribute>
  76. <xsd:attribute name="local-override" type="xsd:boolean"
  77. default="false">
  78. <xsd:annotation>
  79. <xsd:documentation><![CDATA[
  80. Specifies whether local properties override properties from files. Default
  81. is "false": Properties from files override local defaults.
  82. ]]></xsd:documentation>
  83. </xsd:annotation>
  84. </xsd:attribute>
  85. </xsd:complexType>
  86. <xsd:element name="property-placeholder">
  87. <xsd:annotation>
  88. <xsd:documentation><![CDATA[
  89. Activates replacement of ${...} placeholders, resolved against the specified properties file or
  90. Properties object (if any). Falls back to resolving placeholders against JVM system properties.
  91. Alternatively, define a parameterized PropertyPlaceholderConfigurer bean in the context.
  92. ]]></xsd:documentation>
  93. <xsd:appinfo>
  94. <tool:annotation>
  95. <tool:exports
  96. type="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
  97. </tool:annotation>
  98. </xsd:appinfo>
  99. </xsd:annotation>
  100. <xsd:complexType>
  101. <xsd:complexContent>
  102. <xsd:extension base="propertyPlaceholder">
  103. <xsd:attribute name="system-properties-mode" default="FALLBACK">
  104. <xsd:simpleType>
  105. <xsd:restriction base="xsd:string">
  106. <xsd:enumeration value="NEVER"/>
  107. <xsd:enumeration value="FALLBACK"/>
  108. <xsd:enumeration value="OVERRIDE"/>
  109. </xsd:restriction>
  110. </xsd:simpleType>
  111. </xsd:attribute>
  112. </xsd:extension>
  113. </xsd:complexContent>
  114. </xsd:complexType>
  115. </xsd:element>
  116. <xsd:element name="property-override">
  117. <xsd:annotation>
  118. <xsd:documentation><![CDATA[
  119. Activates pushing of override values into bean properties, based on configuration
  120. lines of the following format: beanName.property=value
  121. ]]></xsd:documentation>
  122. <xsd:appinfo>
  123. <tool:annotation>
  124. <tool:exports
  125. type="org.springframework.beans.factory.config.PropertyOverrideConfigurer" />
  126. </tool:annotation>
  127. </xsd:appinfo>
  128. </xsd:annotation>
  129. <xsd:complexType>
  130. <xsd:complexContent>
  131. <xsd:extension base="propertyPlaceholder" />
  132. </xsd:complexContent>
  133. </xsd:complexType>
  134. </xsd:element>
  135. <xsd:element name="annotation-config">
  136. <xsd:annotation>
  137. <xsd:documentation><![CDATA[
  138. Activates various annotations to be detected in bean classes: Spring's @Required and
  139. @Autowired, as well as JSR 250's @PostConstruct, @PreDestroy and @Resource (if available),
  140. JAX-WS's @WebServiceRef (if available), EJB3's @EJB (if available), and JPA's
  141. @PersistenceContext and @PersistenceUnit (if available). Alternatively, you may
  142. choose to activate the individual BeanPostProcessors for those annotations.
  143. Note: This tag does not activate processing of Spring's @Transactional or EJB3's
  144. @TransactionAttribute annotation. Consider the use of the <tx:annotation-driven>
  145. tag for that purpose.
  146. ]]></xsd:documentation>
  147. </xsd:annotation>
  148. </xsd:element>
  149. <xsd:element name="component-scan">
  150. <xsd:annotation>
  151. <xsd:documentation><![CDATA[
  152. Scans the classpath for annotated components that will be auto-registered as
  153. Spring beans. By default, the Spring-provided @Component, @Repository,
  154. @Service, and @Controller stereotypes will be detected.
  155. Note: This tag implies the effects of the 'annotation-config' tag, activating @Required,
  156. @Autowired, @PostConstruct, @PreDestroy, @Resource, @PersistenceContext and @PersistenceUnit
  157. annotations in the component classes, which is usually desired for autodetected components
  158. (without external configuration). Turn off the 'annotation-config' attribute to deactivate
  159. this default behavior, for example in order to use custom BeanPostProcessor definitions
  160. for handling those annotations.
  161. Note: You may use placeholders in package paths, but only resolved against system
  162. properties (analogous to resource paths). A component scan results in new bean definition
  163. being registered; Spring's PropertyPlaceholderConfigurer will apply to those bean
  164. definitions just like to regular bean definitions, but it won't apply to the component
  165. scan settings themselves.
  166. ]]></xsd:documentation>
  167. </xsd:annotation>
  168. <xsd:complexType>
  169. <xsd:sequence>
  170. <xsd:element name="include-filter" type="filterType"
  171. minOccurs="0" maxOccurs="unbounded">
  172. <xsd:annotation>
  173. <xsd:documentation><![CDATA[
  174. Controls which eligible types to include for component scanning.
  175. ]]></xsd:documentation>
  176. </xsd:annotation>
  177. </xsd:element>
  178. <xsd:element name="exclude-filter" type="filterType"
  179. minOccurs="0" maxOccurs="unbounded">
  180. <xsd:annotation>
  181. <xsd:documentation><![CDATA[
  182. Controls which eligible types to exclude for component scanning.
  183. ]]></xsd:documentation>
  184. </xsd:annotation>
  185. </xsd:element>
  186. </xsd:sequence>
  187. <xsd:attribute name="base-package" type="xsd:string"
  188. use="required">
  189. <xsd:annotation>
  190. <xsd:documentation><![CDATA[
  191. The comma-separated list of packages to scan for annotated components.
  192. ]]></xsd:documentation>
  193. </xsd:annotation>
  194. </xsd:attribute>
  195. <xsd:attribute name="resource-pattern" type="xsd:string">
  196. <xsd:annotation>
  197. <xsd:documentation><![CDATA[
  198. Controls the class files eligible for component detection. Defaults to "**/*.class", the recommended value.
  199. ]]></xsd:documentation>
  200. </xsd:annotation>
  201. </xsd:attribute>
  202. <xsd:attribute name="use-default-filters" type="xsd:boolean"
  203. default="true">
  204. <xsd:annotation>
  205. <xsd:documentation><![CDATA[
  206. Indicates whether automatic detection of classes annotated with @Component, @Repository, @Service,
  207. or @Controller should be enabled. Default is "true".
  208. ]]></xsd:documentation>
  209. </xsd:annotation>
  210. </xsd:attribute>
  211. <xsd:attribute name="annotation-config" type="xsd:boolean"
  212. default="true">
  213. <xsd:annotation>
  214. <xsd:documentation><![CDATA[
  215. Indicates whether the implicit annotation post-processors should be enabled. Default is "true".
  216. ]]></xsd:documentation>
  217. </xsd:annotation>
  218. </xsd:attribute>
  219. <xsd:attribute name="name-generator" type="xsd:string">
  220. <xsd:annotation>
  221. <xsd:documentation><![CDATA[
  222. The fully-qualified class name of the BeanNameGenerator to be used for naming detected components.
  223. ]]></xsd:documentation>
  224. <xsd:appinfo>
  225. <tool:annotation>
  226. <tool:expected-type type="java.lang.Class" />
  227. <tool:assignable-to
  228. type="org.springframework.beans.factory.support.BeanNameGenerator" />
  229. </tool:annotation>
  230. </xsd:appinfo>
  231. </xsd:annotation>
  232. </xsd:attribute>
  233. <xsd:attribute name="scope-resolver" type="xsd:string">
  234. <xsd:annotation>
  235. <xsd:documentation><![CDATA[
  236. The fully-qualified class name of the ScopeMetadataResolver to be used for resolving the scope of
  237. detected components.
  238. ]]></xsd:documentation>
  239. <xsd:appinfo>
  240. <tool:annotation>
  241. <tool:expected-type type="java.lang.Class" />
  242. <tool:assignable-to
  243. type="org.springframework.context.annotation.ScopeMetadataResolver" />
  244. </tool:annotation>
  245. </xsd:appinfo>
  246. </xsd:annotation>
  247. </xsd:attribute>
  248. <xsd:attribute name="scoped-proxy">
  249. <xsd:annotation>
  250. <xsd:documentation><![CDATA[
  251. Indicates whether proxies should be generated for detected components, which may be necessary
  252. when using scopes in a proxy-style fashion. Default is to generate no such proxies.
  253. ]]></xsd:documentation>
  254. </xsd:annotation>
  255. <xsd:simpleType>
  256. <xsd:restriction base="xsd:string">
  257. <xsd:enumeration value="no" />
  258. <xsd:enumeration value="interfaces" />
  259. <xsd:enumeration value="targetClass" />
  260. </xsd:restriction>
  261. </xsd:simpleType>
  262. </xsd:attribute>
  263. </xsd:complexType>
  264. </xsd:element>
  265. <xsd:element name="load-time-weaver">
  266. <xsd:annotation>
  267. <xsd:documentation><![CDATA[
  268. Activates a Spring LoadTimeWeaver for this application context, available as
  269. a bean with the name "loadTimeWeaver". Any bean that implements the
  270. LoadTimeWeaverAware interface will then receive the LoadTimeWeaver reference
  271. automatically; for example, Spring's JPA bootstrap support.
  272. The default weaver is determined automatically. As of Spring 2.5: detecting
  273. Sun's GlassFish, Oracle's OC4J, Spring's VM agent and any ClassLoader
  274. supported by Spring's ReflectiveLoadTimeWeaver (for example, the
  275. TomcatInstrumentableClassLoader).
  276. The activation of AspectJ load-time weaving is specified via a simple flag
  277. (the 'aspectj-weaving' attribute), with the AspectJ class transformer
  278. registered through Spring's LoadTimeWeaver. AspectJ weaving will be activated
  279. by default if a "META-INF/aop.xml" resource is present in the classpath.
  280. This also activates the current application context for applying dependency
  281. injection to non-managed classes that are instantiated outside of the Spring
  282. bean factory (typically classes annotated with the @Configurable annotation).
  283. This will only happen if the AnnotationBeanConfigurerAspect is on the classpath
  284. (i.e. spring-aspects.jar), effectively activating "spring-configured" by default.
  285. ]]></xsd:documentation>
  286. <xsd:appinfo>
  287. <tool:annotation>
  288. <tool:exports
  289. type="org.springframework.instrument.classloading.LoadTimeWeaver" />
  290. </tool:annotation>
  291. </xsd:appinfo>
  292. </xsd:annotation>
  293. <xsd:complexType>
  294. <xsd:attribute name="weaver-class" type="xsd:string">
  295. <xsd:annotation>
  296. <xsd:documentation><![CDATA[
  297. The fully-qualified classname of the LoadTimeWeaver that is to be activated.
  298. ]]></xsd:documentation>
  299. <xsd:appinfo>
  300. <tool:annotation>
  301. <tool:expected-type type="java.lang.Class" />
  302. <tool:assignable-to
  303. type="org.springframework.instrument.classloading.LoadTimeWeaver" />
  304. </tool:annotation>
  305. </xsd:appinfo>
  306. </xsd:annotation>
  307. </xsd:attribute>
  308. <xsd:attribute name="aspectj-weaving" default="autodetect">
  309. <xsd:simpleType>
  310. <xsd:restriction base="xsd:string">
  311. <xsd:enumeration value="on">
  312. <xsd:annotation>
  313. <xsd:documentation><![CDATA[
  314. Switches Spring-based AspectJ load-time weaving on.
  315. ]]></xsd:documentation>
  316. </xsd:annotation>
  317. </xsd:enumeration>
  318. <xsd:enumeration value="off">
  319. <xsd:annotation>
  320. <xsd:documentation><![CDATA[
  321. Switches Spring-based AspectJ load-time weaving off.
  322. ]]></xsd:documentation>
  323. </xsd:annotation>
  324. </xsd:enumeration>
  325. <xsd:enumeration value="autodetect">
  326. <xsd:annotation>
  327. <xsd:documentation><![CDATA[
  328. Switches AspectJ load-time weaving on if a "META-INF/aop.xml" resource
  329. is present in the classpath. If there is no such resource, then AspectJ
  330. load-time weaving will be switched off.
  331. ]]></xsd:documentation>
  332. </xsd:annotation>
  333. </xsd:enumeration>
  334. </xsd:restriction>
  335. </xsd:simpleType>
  336. </xsd:attribute>
  337. </xsd:complexType>
  338. </xsd:element>
  339. <xsd:element name="spring-configured">
  340. <xsd:annotation>
  341. <xsd:documentation
  342. source="java:org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect">
  343. <![CDATA[
  344. Signals the current application context to apply dependency injection
  345. to non-managed classes that are instantiated outside of the Spring bean
  346. factory (typically classes annotated with the @Configurable annotation).
  347. ]]></xsd:documentation>
  348. </xsd:annotation>
  349. <xsd:simpleType>
  350. <xsd:restriction base="xsd:string" />
  351. </xsd:simpleType>
  352. </xsd:element>
  353. <xsd:element name="mbean-export">
  354. <xsd:annotation>
  355. <xsd:documentation
  356. source="java:org.springframework.jmx.export.annotation.AnnotationMBeanExporter"><![CDATA[
  357. Activates default exporting of MBeans by detecting standard MBeans in the Spring
  358. context as well as @ManagedResource annotations on Spring-defined beans.
  359. The resulting MBeanExporter bean is defined under the name "mbeanExporter".
  360. Alternatively, consider defining a custom AnnotationMBeanExporter bean explicitly.
  361. ]]></xsd:documentation>
  362. <xsd:appinfo>
  363. <tool:annotation>
  364. <tool:exports
  365. type="org.springframework.jmx.export.annotation.AnnotationMBeanExporter" />
  366. </tool:annotation>
  367. </xsd:appinfo>
  368. </xsd:annotation>
  369. <xsd:complexType>
  370. <xsd:attribute name="default-domain" type="xsd:string">
  371. <xsd:annotation>
  372. <xsd:documentation><![CDATA[
  373. The default domain to use when generating JMX ObjectNames.
  374. ]]></xsd:documentation>
  375. </xsd:annotation>
  376. </xsd:attribute>
  377. <xsd:attribute name="server" type="xsd:string">
  378. <xsd:annotation>
  379. <xsd:documentation><![CDATA[
  380. The bean name of the MBeanServer to which MBeans should be exported.
  381. Default is to use the platform's default MBeanServer (autodetecting
  382. WebLogic 9+, WebSphere 5.1+ and the JDK 1.5+ platform MBeanServer).
  383. ]]></xsd:documentation>
  384. </xsd:annotation>
  385. </xsd:attribute>
  386. <xsd:attribute name="registration">
  387. <xsd:annotation>
  388. <xsd:documentation><![CDATA[
  389. The registration behavior, indicating how to deal with existing MBeans
  390. of the same name: fail with an exception, ignore and keep the existing
  391. MBean, or replace the existing one with the new MBean.
  392. Default is to fail with an exception.
  393. ]]></xsd:documentation>
  394. </xsd:annotation>
  395. <xsd:simpleType>
  396. <xsd:restriction base="xsd:NMTOKEN">
  397. <xsd:enumeration value="failOnExisting" />
  398. <xsd:enumeration value="ignoreExisting" />
  399. <xsd:enumeration value="replaceExisting" />
  400. </xsd:restriction>
  401. </xsd:simpleType>
  402. </xsd:attribute>
  403. </xsd:complexType>
  404. </xsd:element>
  405. <xsd:element name="mbean-server">
  406. <xsd:annotation>
  407. <xsd:documentation
  408. source="java:org.springframework.jmx.support.MBeanServerFactoryBean"><![CDATA[
  409. Exposes a default MBeanServer for the current platform.
  410. Autodetects WebLogic 9+, WebSphere 6.1+ and the JDK 1.5+ platform MBeanServer.
  411. The default bean name for the exposed MBeanServer is "mbeanServer".
  412. This may be customized through specifying the "id" attribute.
  413. ]]></xsd:documentation>
  414. <xsd:appinfo>
  415. <tool:annotation>
  416. <tool:exports type="javax.management.MBeanServer" />
  417. </tool:annotation>
  418. </xsd:appinfo>
  419. </xsd:annotation>
  420. <xsd:complexType>
  421. <xsd:complexContent>
  422. <xsd:extension base="beans:identifiedType">
  423. <xsd:attribute name="agent-id" type="xsd:string">
  424. <xsd:annotation>
  425. <xsd:documentation><![CDATA[
  426. The agent id of the target MBeanServer, if any.
  427. ]]></xsd:documentation>
  428. </xsd:annotation>
  429. </xsd:attribute>
  430. </xsd:extension>
  431. </xsd:complexContent>
  432. </xsd:complexType>
  433. </xsd:element>
  434. <xsd:complexType name="filterType">
  435. <xsd:attribute name="type" use="required">
  436. <xsd:annotation>
  437. <xsd:documentation><![CDATA[
  438. Controls the type of filtering to apply to the expression.
  439. "annotation" indicates an annotation to be present at the type level in target components;
  440. "assignable" indicates a class (or interface) that the target components are assignable to (extend/implement);
  441. "aspectj" indicates an AspectJ type expression to be matched by the target components;
  442. "regex" indicates a regex expression to be matched by the target components' class names;
  443. "custom" indicates a custom implementation of the org.springframework.core.type.TypeFilter interface.
  444. Note: This attribute will not be inherited by child bean definitions.
  445. Hence, it needs to be specified per concrete bean definition.
  446. ]]></xsd:documentation>
  447. </xsd:annotation>
  448. <xsd:simpleType>
  449. <xsd:restriction base="xsd:string">
  450. <xsd:enumeration value="annotation" />
  451. <xsd:enumeration value="assignable" />
  452. <xsd:enumeration value="aspectj" />
  453. <xsd:enumeration value="regex" />
  454. <xsd:enumeration value="custom" />
  455. </xsd:restriction>
  456. </xsd:simpleType>
  457. </xsd:attribute>
  458. <xsd:attribute name="expression" type="xsd:string" use="required">
  459. <xsd:annotation>
  460. <xsd:documentation><![CDATA[
  461. Indicates the filter expression, the type of which is indicated by "type".
  462. ]]></xsd:documentation>
  463. </xsd:annotation>
  464. </xsd:attribute>
  465. </xsd:complexType>
  466. </xsd:schema>