在独立应用程序中使用Spring

时间:2011-11-12 14:59:00

标签: java spring

我正在寻找在独立(桌面/摇摆)应用程序中使用 Spring 的示例或教程,我搜索了很多但无法获得有用的东西,所有示例和教程都适用于Web应用程序,请提供建议。

11 个答案:

答案 0 :(得分:31)

  1. 使用maven创建独立应用程序,如下所示:

    Create a standalone application with Maven

  2. 将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)

当我第一次开始学习春天时,我遵循了以下教程:

tutorialspoint

它们相当基本但会让你快速上手。在此之后最终 归结为你将要使用它。您在寻找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个库:

给出了一个很好的例子here

答案 10 :(得分:0)

因此,将其归结为:使您的应用程序(任何类型)成为Spring应用程序的原因是至少有一个BeanFactory的存在和使用,通常作为ApplicationContext扩展。在Web应用程序中,您可能会在web.xml中声明一个Servlet,例如DispatcherServlet,它负责实例化和初始化上下文;在独立应用程序中,您自己的代码只会生成并初始化上下文,如上所示。神奇地给你一个上下文的web框架内容在幕后做了几乎相同的事情。