Я смог сделать это, используя @Around. Я считаю, что это невозможно сделать с помощью @Before.
@Around("execution(* com.test.api.*.*(..)) && " + "args(traceId,..)")
public Object setTraceId(ProceedingJoinPoint joinPoint, String traceId) throws Throwable
{
String newTraceId = ServiceUtil.getTraceId();
Object[] obj = joinPoint.getArgs();
obj[0] = newTraceId;
return joinPoint.proceed(obj);
}
Средства разработки
Полезные инструменты / утилиты
Дополнения FireFox
Добавления Visual Studio
Вот список инструментов, utils и progs, который я использую для своих проектов разработки программного обеспечения.NET.
Я использую Espresso (я получил его с пакетом MacHeist !) И Firebug для кодирования. Я использую Photoshop, если мне нужны какие-либо изображения.
Я управляю своими проектами с помощью Hit List .
Мне нравится программировать в Python, таким образом, я создал портативную среду программирования Python на карте флэш-памяти.
WinRAR и ШПАКЛЕВКА. Это - все, в чем я нуждаюсь (я предполагаю, что Интернет не рассчитывает).
wc.exe (из http://unxutils.sourceforge.net/) настолько удобный.
Так как я часто работаю над различными рабочими станциями, я выработал привычку меток материала, который я устанавливаю на восхитительном:
Существует два инструмента, без которых я просто не могу работать
Эти инструменты так в большой степени внушены в мой распорядок дня и значительно повышают мою производительность.
Быстрый просмотрщик изображений, который уже давно работает и доказал свою работоспособность.
Инструменты, которые я использую, потому что вам не нужно устанавливать, просто зайдите в систему и используйте:
Emacs. Это мой, "делает список вещей" инструмент, полезный с быстрыми вычислениями, с искажением конфигурационных файлов (я работаю сетевым инженером, существует очень много конфигурации, которая будет сделана, многое из него граничащий тривиальным для генерации или с маленькими отрывками кода или с тщательным использованием макросов клавиатуры).
У меня всегда, кажется, есть загрузочный Дистрибутив Linux на мне в НЕКОТОРОЙ форме или другом. Нахожу ли это быть загрузочным Перьевым Диском, я сохраняю приложенным к своим Ключам или множеству LiveCDs, который я имею для различной "диагностики" - я, что, если бы я нахожусь в ситуации, обычно, где мне были бы нужны своего рода инструменты..., перезагрузка в Продуктивную среду предоставляет мне близостью достаточно все, в чем я нуждаюсь, и больше
grep дает Вам самый большой удар для маркера. Можно использовать его для поиска на любом, вводят код и много форм данных. Это быстро, и очень мощно. В коде это может определить местоположение того, что Вы ищете в переменных и именах функций, но также и в комментариях. Вы можете также передать результаты по каналу в него и можете таким образом улучшить утилиту многих инструментов, доступных на сайте.
С некоторыми умными подсказками можно легко заставить grep искать определенный тип идентификатора. Например, "^function_name" будет часто находить в коде C определение функции, потому что они запускаются с названия функции в начале строки. Если шаблон поиска дает Вам слишком много ложных соответствий, можно фильтровать тех путем передачи по каналу результата через grep-v.
Много лет назад я был скручен, отладив программы КОБОЛа на эре 1970-х машина Perkin Elmer рабочая ОС/32. Машина испытала недостаток в инструментах программирования, но имела древний компилятор C (настолько старый, она примет = + как исходную форму + = оператор). Я закончил тем, что писал элементарную grep программу, которая очень улучшила мою производительность.
Я делаю полную установку Cygwin. Это дает мне 95% всего, что мне нужно, а место на жестком диске довольно дешевое. Намного проще установить все, чем получить emacs, gcc, gdb, perl, такие утилиты, как grep и awk,
У меня есть следующие инструменты на моем USB thumd диск:
В настоящее время в Thumbdrive\Tools.
"Редактирование Плюс 3" - легкий редактор, которого я использовал целую вечность.
"F# - 1.9.6.2" - большой для того, когда я должен бросить что-то togheter, так как это применимо без IDE, также большой язык для многих задач.
"ildasm"
"Sysinternal Procmon" - большой для того, чтобы отладить и получить ощущение того, что действительно делает машина.
Мой Служебный инструментарий имел бы: 1.) Hex-редактор - XVI32 или любые другие 2.) Вне всякого сравнения - Сравнение файлов 3.) оболочка Cygwin, устанавливаемая вместе с жемчугом, gcc, gprof, gcov, gdb и связанными инструментами, ударом, энергией, разработка/средства отладки 4.) Образцовый make-файл для *отклоняют платформу 5.) Утилита 6 Winzip.) Исходное понимание или любое другое хорошее средство просмотра кода 7.) Ghostscript и GSView 8.) читатель PDF 9.) Хорошее быстрое антивирусное средство/exe
- AD
Я использую / несу с собой:
Просто назвать несколько
Как grep, но лучше, быстрее, и делает больше, что Вы хотите обычно сделать с большими исходными наборами. Записанный в Perl, и действительно завершает PCRE из-за этого. Рекурсивный обход является значением по умолчанию, и это разумно пропускает файлы, которые вряд ли будут соответствовать идентификации типа файла использования к короткому пути.
(Это означает, что автоматически старается не пересекать .svn/.hg/.git
каталоги и таким образом дают крупные ускорения),
ack "function\s+foo\s*\(" --php
# find the definition of "foo" in all php files
# decendant of the current directory
В настоящее время на моей карте флэш-памяти (не ВСЕ программное обеспечение):
Общий Командующий (GREP, FTP, ZIP, это - все здесь... Я даже не запускаю на этом),
Блокнот ++
WinMerge
Python. Серьезно. Я использую его для большого количества маленького материала. Мне также нравится использовать модуль командной строки для создания легких небольших определенных "оболочек" проекта, что я заглядываю часто используемым запросам и т.д. (покажите все таблицы в дб проектов, ищите хранимые процедуры и т.д. - да, делая много t-sql в последнее время...),
Я склонен сопровождать большие c#/t-sql проекты с небольшим сценарием Python, который расширяется cmd.Cmd
классифицируют, чтобы дать мне небольшая коллекция полезных запросов и т.д., что я могу использовать для ввода по абсолютному адресу вокруг в базе данных.
Кроме того, я часто использую Python для изменения входных данных (часто файлы CSV, но любой спам сделает) в операторы вставки и т.д. Или сделайте тесты правдоподобия на тех данных.
Вот инструменты, которые я использую для создания решений Sharepoint:
ide: visual studio / netbeans (zip file!, almost portable)
editor: notepad++ (portable) with monaco font
file comparison: winmerge (portable)
source control: subversion, tortoise
ticket control: redmine
file manager: free commander (portable)
explorer: IE, FF (portable), chrome (portable), iron (chrom without google crap, also portable), qtweb, arora,
FF plugins: firebug, web developer, xmarks
imclient: pidgin
mail client: gmail
download manager: free download manager (portable)
sites: STACKOVERFLOW!!!, gotapi... and google, all the time...
miscelaneous: launchy (can't live without it!)
virtualization: virtual box (I have a machine image for every environment)
office: openoffice (portable)
lamp stack: xammp (portable!)
disk usage: windirstat (portable), scanner (portable)
pdf viewer: foxit (portable), sumatrapdf (portable)
uncompressor: 7-zip portable
M$ sql comparison tool: sql delta
M$ sql management: visual studio sql manager
mysql
mysql management: phpmyadmin, manager provided with mysql
uninstaller utility: revo unistaller (portable)
registry cleaner: ccleaner (portable)
ftp: filezilla (portable)
as you may have noticed, I have a special predilection for portable applications...