public interface GreetingService {
String sayHello(String name);
}
public class GreetingServiceImpl implements GreetingService {
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
public class GreetingConsumer {
private GreetingService greetingService;
public void setGreetingService(GreetingService greetingService) {
this.greetingService = greetingService;
}
public void printGreeting(String name) {
String greeting = greetingService.sayHello(name);
System.out.println(greeting);
}
}
<beans>
<osgi:service id="greetingService" interface="com.example.GreetingService" ref="greetingServiceBean" />
<bean id="greetingServiceBean" class="com.example.GreetingServiceImpl" />
<bean id="greetingConsumer" class="com.example.GreetingConsumer">
<property name="greetingService" ref="greetingService" />
</bean>
</beans>