Аспектно-ориентированное программирование в Java

>>> a = "1,2"
>>> a
'1,2'
>>> b = a.split(",")
>>> b
['1', '2']

Разбор CSV-файла:

f = open(file.csv, "r")
lines = f.read().split("\n") # "\r\n" if needed

for line in lines:
    if line != "": # add other needed checks to skip titles
        cols = line.split(",")
        print cols
7
задан Bleadof 28 November 2008 в 22:44
поделиться

4 ответа

JBossAOP и AspectJ являются двумя наиболее часто используемыми, зрелыми платформами для AOP. Другим популярным выбором является AOP Spring, но это испытывает недостаток в некоторых функциях других двух.

И JBossAOP и AspectJ имеют подобные функции, одна большая разница, являющаяся, что AspectJ полагается на расширения языка Java, тогда как AOP JBoss не делает.

, Если Ваши требования AOP довольно просты, это также достойно рассмотрения библиотека управления байт-кода, такой как ASM. Я использовал ASM для реализации простой 'вокруг совета' (т.е., код, который введен прежде и после вызовов метода), и это оказалось более легкой альтернативой JBossAOP. ASM чисто разработан и хорошо зарегистрирован.

6
ответ дан 6 December 2019 в 23:15
поделиться

Я сказал бы AspectJ. Части IDE, насколько я знаю, недостает, но документация и выразительность среди лучших из платформ AOP, которые я видел.

3
ответ дан 6 December 2019 в 23:15
поделиться

Если Вы уже используете Spring, управляемые obejects уже имеют поддержка AOP . Пока не совсем столь же гибкий как AspectJ, это не требует шага перед компиляцией, который делает AspectJ.

2
ответ дан 6 December 2019 в 23:15
поделиться

Относительно поддержки AOP Spring. По умолчанию это важно только для управляемых объектов Spring и AFAIK он на основе AspectJ.

я один еще не проверял его, но похоже, что это позволяет AOP использования и для других объектов (например, время загрузки, переплетаясь под Tomcat). Детали здесь .

0
ответ дан 6 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: