Spring Roo сам генерирует геттеры/сеттеры для сущностей, помеченных аннотацией @RooJavaBean. Cущность выглядит примерно так: @RooJavaBean //
@RooToString
@RooEntity
public class PackageName {
Я только начал изучать Spring, но у меня сложилось устойчивое мнение, что аспектами лучше добавлять функциональность, чем делать декораторы. Декораторы естественнее делать в виде аннотаций. А например в Spring Roo аспекты используются для добавления функционала в сущности или скафолда контроллеров. Например, реализация таких методов как геттеров/сеттеров, toString() и пр.
Мораль статьи: разработчикам — общайтесь с заказчиком, важно иметь обратную связь на всех этапах разработки. Заказчикам — будьте конкретны в тех вещах, которые для вас важны и тоже общайтесь: разработчики — не телепаты.
Хорошая тема. Я не сдавал SCEA, но сдавал SCJP и SCJD. Так что представляю себе процес сдачи SCEA. Судя по опыту, после того как в моем резюме появилась строчка SCJD, интересоваться стали чаще. Пока конкретного результата по поиску работы нет, но я в процессе… ищу работу в штатах. Ну и еще дополнительным стимулом было то, что у меня нет спец образования — математического или программерского (я инженер), а сертификат такого уровня является неплохим подспорьем диплому :)
Рекомендую автору набрать все в TeX. Формулы не будут выглядеть ужасно в виде картинок при печати. Так же рекомендую убрать цвета — короче сверстать как для типографии
Отличная статья — в оригинале мне тоже очень понравилась. На самом деле, проблема совместимости на сегодняшний день очень актуальная. А решение — элегантное.
Вот это новость из родных краев! Я лично знаком с админом, который занимается этим (Руст, привет!). Хоть интернет там и очень дорогой, но чувствуется прогресс.
Не совсем понимаю работу магического класса. Видимо, где-то ошибка. Почему не используется метод getMagic()? В метод Magic.doMagic(task) передается null — это факт. Тогда к чему это условие? if (obj != null) n++;
@RooJavaBean //
@RooToString
@RooEntity
public class PackageName {
@NotNull
@Column(unique = true)
private String name;
}
Для нее он генерирует аспект типа такого:
privileged aspect PackageName_Roo_JavaBean {
public String PackageName.getName() {
return this.name;
}
public void PackageName.setName(String name) {
this.name = name;
}
}
Красиво и понятно, без всякой магии :)
> Ещё в феврале 2010-го никто не мог прогнозировать смерть Windows Mobile, которая так долго занимала ощутимую часть рынка
Если даже полистать хабр в этот период, то уже станут ясны общие настроения.