6.3. Fine-grained configuration files

If a large number of components require XML configuration, it is sensible to split components.xml 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.
<components> lets you 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>
<component> only lets you configure 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 may put configuration for all classes in the com.helloworld package in com/helloworld/components.xml.