Я играю с идеей использования Spring @Configurable
и @Autowire
для внедрения DAO в объекты домена, чтобы они не требуется прямого знания уровня сохраняемости.
Я пытаюсь следовать http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html # aop-atconfigurable , но мой код, похоже, не действует.
В основном у меня есть:
@Configurable
public class Artist {
@Autowired
private ArtistDAO artistDao;
public void setArtistDao(ArtistDAO artistDao) {
this.artistDao = artistDao;
}
public void save() {
artistDao.save(this);
}
}
И:
public interface ArtistDAO {
public void save(Artist artist);
}
и
@Component
public class ArtistDAOImpl implements ArtistDAO {
@Override
public void save(Artist artist) {
System.out.println("saving");
}
}
В application-context.xml у меня есть:
Сканирование пути к классам и инициализация выполняется модулем spring для Play! framework, хотя другие компоненты с автоматическим подключением работают, поэтому я уверен, что это не основная причина. Я использую Spring 3.0.5.
В другом коде (внутри метода в bean-компоненте, который вводится в мой контроллер с помощью Spring, Не работает db.my_collection.find ({baz: {a: 1, b: 2}); Я ...
У меня есть эта структура в моей коллекции:
{foo : 1, bar : 4, baz : {a : 1, b : 2 ,c : "fafofu"}}
Как мне найти "a" и "b" внутри baz?
Не работает db.my_collection.find ({baz: {a: 1, b: 2});
Меня не волнует, является ли «c» «фафофу» или «какоку» нет имеет значение.