编写一个没有SpringBoot或Maven / Gradle的Spring Web Socket项目

时间:2014-09-18 11:02:03

标签: java eclipse spring maven spring-websocket

如何使用XML或Java Config 创建 Spring Java Web套件项目,但不使用 Spring Boot 。我在哪里可以找到分步教程。我不知道如何在ecliplse中使用弹簧靴。我也不想使用gradle或maven。我没有找到在eclipse中使用spring boot的教程。由于我刚接触春天,我无法在没有maven或gradle的情况下启动项目。我需要学习如何在没有任何构建工具的情况下创建一个spring项目,前提是我需要使用Eclipse。这纯粹是为了学习目的。

下面是我用来替换Spring启动相关主类的类

AppConfig类

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;

@Configuration
@ComponentScan("hello")
@EnableWebMvc  
public class AppConfig  {



}

WebAppInitializer类

import javax.servlet.ServletContext;  
import javax.servlet.ServletException;  
import javax.servlet.ServletRegistration.Dynamic;  
import org.springframework.web.WebApplicationInitializer;  
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;  
import org.springframework.web.servlet.DispatcherServlet;

public class WebAppInitializer implements WebApplicationInitializer{// extends AbstractAnnotationConfigDispatcherServletInitializer {

        public void onStartup(ServletContext servletContext) throws ServletException 
        {
            try
            {
                 AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();  
                    ctx.register(AppConfig.class);  
                    ctx.setServletContext(servletContext);    
                    Dynamic dynamic = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx)); 

                   dynamic.addMapping("/");
                   // dynamic.addMapping("/springStomp/");
                    dynamic.setLoadOnStartup(1);
                    //dynamic.setAsyncSupported(true);
                    //ctx.refresh();
                    System.out.println("config done");

            }
            catch(Exception e)
            {
                e.printStackTrace();
                System.out.println("error");
            }
       }
}

WebSocketConfig类

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        System.out.println("inside websocket config class");
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }
    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/hello").withSockJS();
    }
}

剩余与spring web socket tutorial

相同

2 个答案:

答案 0 :(得分:1)

我知道这感觉如何,我的公司网络对我的maven调用下载依赖项不友好。如果你不得不像我一样做事,请转到www.mvnrepository.com,只需在搜索中键入spring,就可以下载所需的jar。如果在部署或编译期间遇到任何NoClassDef错误,它通常会告诉您缺少的内容,然后在链接中再次搜索关键字。

答案 1 :(得分:-1)

只是:

  1. 在eclipse中添加gradle插件
  2. 从春季网站导入以下项目作为gradle项目
  3. ???
  4. 的利润!
  5. 如果您不想使用spring boot删除任何spring boot依赖项,请添加spring-context,spring-webmvc等常规deps。最后添加spring-websocket和spring-messaging libraries。