2012-01-16 5 views
1

я вижу код, где некоторые с помощью «Simple Load Timer Weaver» при объявлении EntityManager боб весной XML-файл, как показано ниже:Почему мы используем SimpleLoadTimeWeaver?

<bean id="entityManager" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="persistenceXmlLocation" value="classpath:./META-INF/persistence.xml" /> 
    <property name="persistenceUnitName" value="testDB" /> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="loadTimeWeaver"> 
     <bean class="org.springframework.instrument.classloading.SimpleLoadTimeWeaver" /> 
    </property> 
</bean> 

Iam не в состоянии определить назначение класса SimpleLoadTimeWeaver в этом? Может ли любое тело дать мне знать профи & минусов использования этого класса здесь.

+0

Знаете ли вы, что ткач вообще? Вы знакомы с АОП? – Thomas

+0

читает документ, в нем говорится: «В основном предназначено для тестирования среды, где достаточно выполнить все преобразования класса на вновь созданном экземпляре ClassLoader. – Dapeng

+0

@Depeng: Я прочитал документ уже, но не смог точно понять цель класса, хотя? – Ran

ответ

0

От javadoc

LoadTimeWeaver, который строит и выставляет SimpleInstrumentableClassLoader.

В основном предназначено для тестирования окружения, где достаточно выполнить все преобразования класса на вновь созданном экземпляре ClassLoader .

И от SimpleInstrumentableClassLoaderjavadoc

упрощенной реализации instrumentable ClassLoader.

Используется в тестах и ​​автономных средах.

+0

Привет, Не могли бы вы объяснить мне, что является целью? использования этого класса, поскольку я не понимаю четкой картины, что говорит док. – Ran

2

Чтобы выяснить, какой ткач является:

С АОП можно определить логику, вызываемую в определенных точках в коде, например всякий раз, когда вызывается сеттер. Поскольку эта логика разрабатывается за пределами классов, которые вы хотите украсить таким образом (вы не хотите ставить эту логику в все настройки), среда выполнения нуждается в средствах, чтобы знать, что это должно быть выполнено.

Таким образом, в какой-то момент времени (время компиляции или время загрузки) логика AOP добавляется ко всем точкам вашего кода, к которым он применяется, и прокси-классы генерируются (и скомпилированы). Этот процесс называется ткачеством, так как ваш исходный код и логика AOP, которые вы определили, сотканы вместе.

Для получения дополнительной информации о Spring AOP, посмотрите здесь: http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Смежные вопросы