123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xsd:schema xmlns="http://www.springframework.org/schema/context"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:beans="http://www.springframework.org/schema/beans"
- xmlns:tool="http://www.springframework.org/schema/tool"
- targetNamespace="http://www.springframework.org/schema/context"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
- <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"/>
- <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-4.0.xsd"/>
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Defines the configuration elements for the Spring Framework's application
- context support. Effects the activation of various configuration styles
- for the containing Spring ApplicationContext.
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:complexType name="propertyPlaceholder">
- <xsd:attribute name="location" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The location of the properties file to resolve placeholders against, as a Spring
- resource location: a URL, a "classpath:" pseudo URL, or a relative file path.
- Multiple locations may be specified, separated by commas. If neither location nor
- properties-ref is specified, placeholders will be resolved against system properties.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="properties-ref" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation source="java:java.util.Properties"><![CDATA[
- The bean name of a Properties object that will be used for property substitution.
- If neither location nor properties-ref is specified, placeholders will be resolved
- against system properties.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="file-encoding" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Specifies the encoding to use for parsing properties files. Default is none,
- using the java.util.Properties default encoding. Only applies to classic
- properties files, not to XML files.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="order" type="xsd:token">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Specifies the order for this placeholder configurer. If more than one is present
- in a context, the order can be important since the first one to be match a
- placeholder will win.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="ignore-resource-not-found" type="xsd:boolean" default="false">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Specifies if failure to find the property resource location should be ignored.
- Default is "false", meaning that if there is no file in the location specified
- an exception will be raised at runtime.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="ignore-unresolvable" type="xsd:boolean" default="false">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Specifies if failure to find the property value to replace a key should be ignored.
- Default is "false", meaning that this placeholder configurer will raise an exception
- if it cannot resolve a key. Set to "true" to allow the configurer to pass on the key
- to any others in the context that have not yet visited the key in question.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="local-override" type="xsd:boolean" default="false">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Specifies whether local properties override properties from files.
- Default is "false": Properties from files override local defaults.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- </xsd:complexType>
- <xsd:element name="property-placeholder">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Activates replacement of ${...} placeholders by registering a
- PropertySourcesPlaceholderConfigurer within the application context. Properties will
- be resolved against the specified properties file or Properties object -- so called
- "local properties", if any, and against the Spring Environment's current set of
- PropertySources.
- Note that as of Spring 3.1 the system-properties-mode attribute has been removed in
- favor of the more flexible PropertySources mechanism. However, Spring 3.1-based
- applications may continue to use the 3.0 (and older) versions of the spring-context
- schema in order to preserve system-properties-mode behavior. In this case, the
- traditional PropertyPlaceholderConfigurer component will be registered instead of the
- new PropertySourcesPlaceholderConfigurer.
- See ConfigurableEnvironment javadoc for more information on using.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="propertyPlaceholder">
- <xsd:attribute name="system-properties-mode" default="ENVIRONMENT">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Controls how to resolve placeholders against system properties. As of Spring 3.1, this
- attribute value defaults to "ENVIRONMENT", indicating that resolution of placeholders
- against system properties is handled via PropertySourcesPlaceholderConfigurer and its
- delegation to the current Spring Environment object.
- For maximum backward compatibility, this attribute is preserved going forward with the
- 3.1 version of the context schema, and any values other than the default "ENVIRONMENT"
- will cause a traditional PropertyPlaceholderConfigurer to be registered instead of the
- newer PropertySourcesPlaceholderConfigurer variant. In this case, the Spring Environment
- and its property sources are not interrogated when resolving placeholders. Users are
- encouraged to consider this attribute deprecated, and to take advantage of
- Environment/PropertySource mechanisms. See ConfigurableEnvironment javadoc for examples.
- "ENVIRONMENT" indicates placeholders should be resolved against the current Environment and against any local properties;
- "NEVER" indicates placeholders should be resolved only against local properties and never against system properties;
- "FALLBACK" indicates placeholders should be resolved against any local properties and then against system properties;
- "OVERRIDE" indicates placeholders should be resolved first against system properties and then against any local properties;
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="ENVIRONMENT"/>
- <xsd:enumeration value="NEVER"/>
- <xsd:enumeration value="FALLBACK"/>
- <xsd:enumeration value="OVERRIDE"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="property-override">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Activates pushing of override values into bean properties, based on configuration
- lines of the following format: beanName.property=value
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="org.springframework.beans.factory.config.PropertyOverrideConfigurer"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="propertyPlaceholder"/>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="annotation-config">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Activates various annotations to be detected in bean classes: Spring's @Required and
- @Autowired, as well as JSR 250's @PostConstruct, @PreDestroy and @Resource (if available),
- JAX-WS's @WebServiceRef (if available), EJB3's @EJB (if available), and JPA's
- @PersistenceContext and @PersistenceUnit (if available). Alternatively, you may
- choose to activate the individual BeanPostProcessors for those annotations.
- Note: This tag does not activate processing of Spring's @Transactional or EJB3's
- @TransactionAttribute annotation. Consider the use of the <tx:annotation-driven>
- tag for that purpose.
- See javadoc for org.springframework.context.annotation.AnnotationConfigApplicationContext
- for information on code-based alternatives to bootstrapping annotation-driven support.
- from XML.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="component-scan">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Scans the classpath for annotated components that will be auto-registered as
- Spring beans. By default, the Spring-provided @Component, @Repository,
- @Service, and @Controller stereotypes will be detected.
- Note: This tag implies the effects of the 'annotation-config' tag, activating @Required,
- @Autowired, @PostConstruct, @PreDestroy, @Resource, @PersistenceContext and @PersistenceUnit
- annotations in the component classes, which is usually desired for autodetected components
- (without external configuration). Turn off the 'annotation-config' attribute to deactivate
- this default behavior, for example in order to use custom BeanPostProcessor definitions
- for handling those annotations.
- Note: You may use placeholders in package paths, but only resolved against system
- properties (analogous to resource paths). A component scan results in new bean definition
- being registered; Spring's PropertyPlaceholderConfigurer will apply to those bean
- definitions just like to regular bean definitions, but it won't apply to the component
- scan settings themselves.
- See javadoc for org.springframework.context.annotation.ComponentScan for information
- on code-based alternatives to bootstrapping component-scanning.
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="include-filter" type="filterType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Controls which eligible types to include for component scanning.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="exclude-filter" type="filterType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Controls which eligible types to exclude for component scanning.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="base-package" type="xsd:string"
- use="required">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The comma/semicolon/space/tab/linefeed-separated list of packages to scan for annotated components.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="resource-pattern" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Controls the class files eligible for component detection. Defaults to "**/*.class", the recommended value.
- Consider use of the include-filter and exclude-filter elements for a more fine-grained approach.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="use-default-filters" type="xsd:boolean"
- default="true">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Indicates whether automatic detection of classes annotated with @Component, @Repository, @Service,
- or @Controller should be enabled. Default is "true".
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="annotation-config" type="xsd:boolean"
- default="true">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Indicates whether the implicit annotation post-processors should be enabled. Default is "true".
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="name-generator" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The fully-qualified class name of the BeanNameGenerator to be used for naming detected components.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:expected-type type="java.lang.Class"/>
- <tool:assignable-to type="org.springframework.beans.factory.support.BeanNameGenerator"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="scope-resolver" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The fully-qualified class name of the ScopeMetadataResolver to be used for resolving the scope of
- detected components.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:expected-type type="java.lang.Class"/>
- <tool:assignable-to type="org.springframework.context.annotation.ScopeMetadataResolver"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="scoped-proxy">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Indicates whether proxies should be generated for detected components, which may be necessary
- when using scopes in a proxy-style fashion. Default is to generate no such proxies.
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="no"/>
- <xsd:enumeration value="interfaces"/>
- <xsd:enumeration value="targetClass"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="load-time-weaver">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Activates a Spring LoadTimeWeaver for this application context, available as
- a bean with the name "loadTimeWeaver". Any bean that implements the
- LoadTimeWeaverAware interface will then receive the LoadTimeWeaver reference
- automatically; for example, Spring's JPA bootstrap support.
- The default weaver is determined automatically: see DefaultContextLoadTimeWeaver's
- javadoc for details.
- The activation of AspectJ load-time weaving is specified via a simple flag
- (the 'aspectj-weaving' attribute), with the AspectJ class transformer
- registered through Spring's LoadTimeWeaver. AspectJ weaving will be activated
- by default if a "META-INF/aop.xml" resource is present in the classpath.
- This also activates the current application context for applying dependency
- injection to non-managed classes that are instantiated outside of the Spring
- bean factory (typically classes annotated with the @Configurable annotation).
- This will only happen if the AnnotationBeanConfigurerAspect is on the classpath
- (i.e. spring-aspects.jar), effectively activating "spring-configured" by default.
- See javadoc for org.springframework.context.annotation.EnableLoadTimeWeaving
- for information on code-based alternatives to bootstrapping load-time weaving support.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="org.springframework.instrument.classloading.LoadTimeWeaver"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="weaver-class" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The fully-qualified classname of the LoadTimeWeaver that is to be activated.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:expected-type type="java.lang.Class"/>
- <tool:assignable-to type="org.springframework.instrument.classloading.LoadTimeWeaver"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="aspectj-weaving" default="autodetect">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="on">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Switches Spring-based AspectJ load-time weaving on.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="off">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Switches Spring-based AspectJ load-time weaving off.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- <xsd:enumeration value="autodetect">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Switches AspectJ load-time weaving on if a "META-INF/aop.xml" resource
- is present in the classpath. If there is no such resource, then AspectJ
- load-time weaving will be switched off.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="spring-configured">
- <xsd:annotation>
- <xsd:documentation source="java:org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect"><![CDATA[
- Signals the current application context to apply dependency injection
- to non-managed classes that are instantiated outside of the Spring bean
- factory (typically classes annotated with the @Configurable annotation).
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="mbean-export">
- <xsd:annotation>
- <xsd:documentation source="java:org.springframework.jmx.export.annotation.AnnotationMBeanExporter"><![CDATA[
- Activates default exporting of MBeans by detecting standard MBeans in the Spring
- context as well as @ManagedResource annotations on Spring-defined beans.
- The resulting MBeanExporter bean is defined under the name "mbeanExporter".
- Alternatively, consider defining a custom AnnotationMBeanExporter bean explicitly.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="org.springframework.jmx.export.annotation.AnnotationMBeanExporter"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="default-domain" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The default domain to use when generating JMX ObjectNames.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="server" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The bean name of the MBeanServer to which MBeans should be exported.
- Default is to use the platform's default MBeanServer (autodetecting
- WebLogic, WebSphere and the JVM's platform MBeanServer).
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="registration">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The registration behavior, indicating how to deal with existing MBeans
- of the same name: fail with an exception, ignore and keep the existing
- MBean, or replace the existing one with the new MBean.
- Default is to fail with an exception.
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="failOnExisting"/>
- <xsd:enumeration value="ignoreExisting"/>
- <xsd:enumeration value="replaceExisting"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="mbean-server">
- <xsd:annotation>
- <xsd:documentation source="java:org.springframework.jmx.support.MBeanServerFactoryBean"><![CDATA[
- Exposes a default MBeanServer for the current platform.
- Autodetects WebLogic, WebSphere and the JVM's platform MBeanServer.
- The default bean name for the exposed MBeanServer is "mbeanServer".
- This may be customized through specifying the "id" attribute.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="javax.management.MBeanServer"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="beans:identifiedType">
- <xsd:attribute name="agent-id" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The agent id of the target MBeanServer, if any.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="filterType">
- <xsd:attribute name="type" use="required">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Controls the type of filtering to apply to the expression.
- "annotation" indicates an annotation to be present at the type level in target components;
- "assignable" indicates a class (or interface) that the target components are assignable to (extend/implement);
- "aspectj" indicates an AspectJ type pattern expression to be matched by the target components;
- "regex" indicates a regex pattern to be matched by the target components' class names;
- "custom" indicates a custom implementation of the org.springframework.core.type.TypeFilter interface.
- Note: This attribute will not be inherited by child bean definitions.
- Hence, it needs to be specified per concrete bean definition.
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="annotation"/>
- <xsd:enumeration value="assignable"/>
- <xsd:enumeration value="aspectj"/>
- <xsd:enumeration value="regex"/>
- <xsd:enumeration value="custom"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="expression" type="xsd:string" use="required">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Indicates the filter expression, the type of which is indicated by "type".
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:schema>
|