我正在寻找在独立(桌面/摇摆)应用程序中使用 Spring 的示例或教程,我搜索了很多但无法获得有用的东西,所有示例和教程都适用于Web应用程序,请提供建议。
答案 0 :(得分:31)
使用maven创建独立应用程序,如下所示:
将applicationContext放在类路径中,并按如下方式将其加载到主类中:
ClassPathXmlApplicationContext ctx =
new ClassPathXmlApplicationContext("applicationContext.xml");
请参阅此处的完整文章:
http://www.devdaily.com/blog/post/java/load-spring-application-context-file-java-swing-application
答案 1 :(得分:21)
这是一个包含2个类的简单示例。为了方便阅读而在groovy中写,但是在适当的语法调整中也会在java中为你运行
这是你的主要内容:
class Main {
static void main(String[] args) {
def ctx = new AnnotationConfigApplicationContext()
ctx.register(AppConfig.class)
ctx.refresh()
def runner = ctx.getBean("mainRunner")
runner.run()
}
void run() {
println "running from bean"
}
}
这是你的配置bean:
@Configuration
class AppConfig {
@Bean
Main mainRunner() {
new Main()
}
}
答案 2 :(得分:3)
AppFuse 提供不同的演示应用程序,所有源代码都可以使用maven下载。您可以获得使用 Spring MVC,Spring,Hibernate 构建的this演示应用程序的完整代码。
是的,这是一个Web应用程序,您可以深入研究并将其转换为独立的应用程序。
答案 3 :(得分:3)
创建一个Maven项目
它将为您的项目创建一个Application类
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
//SpringApplication.run(YourClass.class, args);
YourClass.main(args);
}
}
将YourClass主方法放在那里而不是SpringApplication.run(YourClass.class,args);
它的工作方式很好。
答案 4 :(得分:2)
当我第一次开始学习春天时,我遵循了以下教程:
它们相当基本但会让你快速上手。在此之后最终 归结为你将要使用它。您在寻找IOC,JMS,JDBC / Hibernate支持等吗?
如上所述:
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext");
无论它是什么类型,都会将您的所有春豆带入您的应用程序。
答案 5 :(得分:1)
这是我在谷歌上发现的第一件事。它看起来也很不错。
http://www.mkyong.com/spring/maven-spring-hibernate-annotation-mysql-example/
答案 6 :(得分:1)
看看"Barebones Spring"。我认为这是一个很好的,最新的如何使用Spring 3的例子。
答案 7 :(得分:1)
这是Spring的教程,我发现它非常有用。这解释了Spring基于独立应用程序。
https://www.youtube.com/watch?v=GB8k2-Egfv0
此视频的作者还更新了Maven和Struts视频,并以简单但有效的方式对其进行了解释。
我希望它有所帮助。
答案 8 :(得分:1)
我已经设法使用Swing运行独立的Spring Boot应用程序。
public static void main(String[] args) {
ConfigurableApplicationContext ctx = new SpringApplicationBuilder(SwingApp.class)
.headless(false).run(args);
EventQueue.invokeLater(() -> {
SwingApp ex = ctx.getBean(SwingApp.class);
ex.setVisible(true);
});
}
我们需要使用SpringApplicationBuilder
并关闭无头模式。
@SpringBootApplication
public class SwingApp extends JFrame {
SwingApp
饰有@SpringBootApplication
注释。
有关完整的工作示例,请参阅我的Spring Boot Swing integration教程。
答案 9 :(得分:0)
最小的独立Spring应用程序需要以下4个库:
commons-logging.jar(见http://commons.apache.org/logging)
org.springframework.core-2.5.6.A.jar(见
http://www.springsource.org/download)
org.springframework.beans-2.5.6.A.jar(见
http://www.springsource.org/download)
org.springframework.context-2.5.6.A.jar(见
http://www.springsource.org/download)
给出了一个很好的例子here。
答案 10 :(得分:0)
因此,将其归结为:使您的应用程序(任何类型)成为Spring应用程序的原因是至少有一个BeanFactory的存在和使用,通常作为ApplicationContext扩展。在Web应用程序中,您可能会在web.xml中声明一个Servlet,例如DispatcherServlet,它负责实例化和初始化上下文;在独立应用程序中,您自己的代码只会生成并初始化上下文,如上所示。神奇地给你一个上下文的web框架内容在幕后做了几乎相同的事情。