7.3. Fine-grained configuration files
If a large number of components require XML configuration, it is better to split the
components.xml file into several smaller files. With Seam, configuration for a class named com.helloworld.Hello can be placed in a resource named com/helloworld/Hello.component.xml. (This pattern is also used in Hibernate.) The root element of the file may either be a <components> or <component> element.
The
<components> element allows you to define multiple components in the file:
<components> <component class="com.helloworld.Hello" name="hello"> <property name="name">#{user.name}</property> </component> <factory name="message" value="#{hello.message}"/> </components>
The
<component> element allows you to configure only one component, but is less verbose:
<component name="hello"> <property name="name">#{user.name}</property> </component>
The class name in the latter is implied by the file in which the component definition appears.
Alternatively, you can put configuration for all classes in the
com.helloworld package in com/helloworld/components.xml file.