如何使用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();
}
}
相同
答案 0 :(得分:1)
我知道这感觉如何,我的公司网络对我的maven调用下载依赖项不友好。如果你不得不像我一样做事,请转到www.mvnrepository.com,只需在搜索中键入spring,就可以下载所需的jar。如果在部署或编译期间遇到任何NoClassDef错误,它通常会告诉您缺少的内容,然后在链接中再次搜索关键字。
答案 1 :(得分:-1)
只是:
如果您不想使用spring boot删除任何spring boot依赖项,请添加spring-context,spring-webmvc等常规deps。最后添加spring-websocket和spring-messaging libraries。