public class UserService {
@Inject
private UserDao userDao;
// ...
}
<bean id="userDao" class="com.example.UserDaoImpl" />
public class OrderService {
private OrderDao orderDao;
@Inject
public OrderService(OrderDao orderDao) {
this.orderDao = orderDao;
}
// ...
}
<bean id="orderService" class="com.example.OrderService">
<constructor-arg ref="orderDao" />
</bean>
@Singleton
public class MyService {
// ...
}
<bean id="myService" class="com.example.MyService" scope="singleton" />
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Repository {
// ...
}
@Repository
public class UserDaoImpl implements UserDao {
// ...
}
<include-annotation name="com.example.Repository" />