2013-12-02 3 views
0

Мое намерение - подключить весенние 4 класса сетевых меток для моего существующего проекта. Вот весной ссылка WebSocket проекта: https://github.com/rstoyanchev/spring-websocket-testДобавление весенних веб-гнезд к существующему весеннему проекту

проблема мой проект использует конфигурационные файлы XML в то время как проект WebSocket использует очень странные конфигурации Java файла.

Мой вопрос: есть ли способ импортировать эти файлы конфигураций из проекта spring в мой уже существующий (на основе xml) проект?

, например, мои XMLs в настоящее время судил в web.xml, в то время как в проекте весной WebSocket нет web.xml вообще ..

PS Не все классы конфигурации в этом проекте являются компонентами, здесь 2 класса без @Configuration разъяснения:

import javax.servlet.ServletContext; 
    import javax.servlet.ServletException; 
import javax.servlet.ServletRegistration.Dynamic; 

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; 

public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 


@Override 
protected Class<?>[] getRootConfigClasses() { 
    return new Class<?>[] { WebSecurityConfig.class }; 
} 

@Override 
protected Class<?>[] getServletConfigClasses() { 
    return new Class<?>[] { WebConfig.class, WebSocketConfig.class }; 
} 

@Override 
protected String[] getServletMappings() { 
    return new String[] { "/" }; 
} 

@Override 
protected void customizeRegistration(Dynamic registration) { 
    registration.setInitParameter("dispatchOptionsRequest", "true"); 
} 

@Override 
public void onStartup(ServletContext servletContext) throws ServletException { 
    super.onStartup(servletContext); 
} 

}

@EnableWebSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 

@Override 
protected void configure(HttpSecurity http) throws Exception { 
    http 
     .csrf().disable() //TODO Refactor login form 
     .authorizeRequests() 
      .antMatchers("/assets/**").permitAll() 
      .anyRequest().authenticated() 
      .and() 
     .logout() 
      .logoutSuccessUrl("/login.html?logout") 
      .logoutUrl("/logout.html") 
      .permitAll() 
      .and() 
     .formLogin() 
      .defaultSuccessUrl("/index.html") 
      .loginPage("/login.html") 
      .failureUrl("/login.html?error") 
      .permitAll(); 
} 


@Override 
protected void configure(AuthenticationManagerBuilder auth) throws Exception { 
    auth 
     .inMemoryAuthentication() 
      .withUser("fabrice").password("fab123").roles("USER").and() 
      .withUser("paulson").password("bond").roles("ADMIN","USER"); 
} 

Так они будут подобраны в моем первоначальном сканировании? как мне их интегрировать тогда?

Спасибо!

+0

Классы '@ Configuration' (java config) также являются' @ Components', поэтому, если вы уже используете компонентное сканирование, они будут автоматически загружены. Также имейте в виду, что на момент написания статьи «Весна 4» еще не окончательна! Что касается no-xml, вы можете/должны читать новые функции Spring и новую спецификацию сервлета (3.x), которая позволяет (почти) без xml вообще, если все сделано правильно. –

ответ

0

я написал подробный учебник/пример того, как использовать Spring 4 WebSockets с Spring Security 3.2, ' retro-fit 'регулярное приложение Spring MVC с WebSockets. Нажмите here

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