@Named("userService")
public class UserService {
// ...
}
@Named("userDao")
@Singleton
public class UserDao {
// ...
}
<component>
<role>com.example.UserService</role>
<role-hint>userService</role-hint>
<requirements>
<requirement>
<role>com.example.UserDao</role>
<role-hint>userDao</role-hint>
</requirement>
</requirements>
</component>
<component>
<role>com.example.UserDao</role>
<role-hint>userDao</role-hint>
</component>
public static void main(String[] args) {
DefaultPlexusContainer container = new DefaultPlexusContainer();
UserService userService = container.lookup(UserService.class, "userService");
container.dispose();
}