Показаны сообщения с ярлыком spring. Показать все сообщения
Показаны сообщения с ярлыком spring. Показать все сообщения

пятница, 27 февраля 2015 г.

Spring MVC пример контроллера

Нужен HTTP-сервер? Не вопрос, используем java.net.ServerSocket, будем принимать входящие соединения, затем socket.getInputStream(), прочитаем данные и...
Стоп! Эдак придётся байты в строку переводить, потом выделять метод, url, заголовки, тело - столько всего! Можно проще?
Можно! Spring MVC - наше всё :) Далее в посте - пример создания контроллера с удобным маппингом.
(ну, по справедливости, можно сделать проще и без spring'а, но я же ведь как раз про него пишу:) ).

пятница, 12 сентября 2014 г.

Как создать java.util.Properties в spring

Порой удобно создавать экземпляр свойств java.util.Properties прямо в spring-конфигурации.
Для этого отлично подходит PropertiesFactoryBean.

понедельник, 2 июня 2014 г.

JBAS011006 / JBAS011054

Дано: spring framework 3.2 и jboss 7.X.

При старте в логе предупреждение:
WARN  [org.jboss.as.ee] (MSC service thread 1-6) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to exception: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: Could not find default constructor for class org.springframework.web.context.request.async.StandardServletAsyncWebRequest
    at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:606)
    at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]

вторник, 19 ноября 2013 г.

Валидация по схеме в Jaxb2Marshaller

Для маршаллинга soap-объектов используем org.springframework.oxm.jaxb.Jaxb2Marshaller - удобный и быстрый.
На этапе отладки взаимодействия между двумя системами решено было использовать и валидацию по xsd-схемам, чтобы эффективнее отлавливать нарушения контракта. Выбранный маршаллер отлично справляется с этой задачей - необходимо указать ему одну или несколько схем, по которым проводить валидацию, и проверка начнётся.

пятница, 4 октября 2013 г.

liquibase + spring

Для удобства интеграции с spring-фреймоворком есть специальная оболочка liquibase.integration.spring.SpringLiquibase (с версии 3.0.5).
Пример бина:
    <bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase">
        <property name="dataSource" ref="dataSource"/>
        <property name="changeLog" value="classpath:changelog.xml"/>
        <property name="contexts" value="test, production"/>
    </bean>
При старте конфигурации с таким бином liquibase-скрипт будет автоматически загружен из changelog.xml, а затем применён к хранилищу javax.sql.DataSource dataSource.
 
Опциональные параметры можно посмотреть в javadoc'е (http://www.liquibase.org/javadoc/liquibase/integration/spring/SpringLiquibase.html).