使用注释配置的 Spring 控制台应用程序

2024-01-04

我想创建 spring 控制台应用程序(使用 maven 从命令行运行,例如:mvn exec:java -Dexec.mainClass="package.MainClass")。

我想要这个应用程序有某种服务和 dao 层吗?我知道如何为 Web 应用程序执行此操作,但我还没有找到任何有关如何在控制台应用程序(可能是 Swing)的情况下执行此操作的信息。

我正在尝试创建类似的东西:

public interface SampleService {
 public String getHelloWorld();
}


@Service
public class SampleServiceImpl implements SampleService {
 public String getHelloWorld() {
  return "HelloWorld from Service!";
 }
}

public class Main {
 @Autowired
 SampleService sampleService;
 public static void main(String [] args) {
  Main main = new Main();
  main.sampleService.getHelloWorld();
 }
}

是否可以? 我可以在某处找到如何执行此操作的示例吗?


看看Spring参考,3.2.2 实例化容器 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-instantiation.

为了在控制台应用程序中使用 Spring,您需要创建一个实例ApplicationContext并从中获取 Spring 管理的 bean。

参考资料中描述了使用 XML 配置创建上下文。对于完全基于注释的方法,您可以执行以下操作:

@Component // Main is a Spring-managed bean too, since it have @Autowired property
public class Main {
    @Autowired SampleService sampleService;
    public static void main(String [] args) {
        ApplicationContext ctx = 
            new AnnotationConfigApplicationContext("package"); // Use annotated beans from the specified package

        Main main = ctx.getBean(Main.class);
        main.sampleService.getHelloWorld();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用注释配置的 Spring 控制台应用程序 的相关文章

随机推荐

  • 更改图例符号的大小

    如何更改图例中符号的大小 现在他们看起来像这样 我希望它们是与标题大小大致相同的正方形 查看文档后 我认为更改 symbolHeight symbolRadius 和 symbolWidth 可以解决问题 但事实并非如此 事实上 据我所知
  • 我将 IDENTITY_INSERT 设置为 ON,但收到 SqlException 提示它已关闭

    我试图从文本文件中获取数千张发票 和其他内容 并将它们插入到 SQL Server 2008 中 我编写了一个小控制台应用程序来执行此操作 它使用 LINQ to SQL 插入所有现有发票后 我想要Invoice ID作为一个身份列和自动增
  • Eclipse PDE:自定义 QuickFix 仅在问题视图中可用?

    我在自定义快速修复方面遇到了麻烦 我想在 Eclipse 插件中提供这些修复 并且我希望在 Eclipse PDE 方面比我更有经验的人能够在这个问题上为我提供一些提示 据我了解 我可以通过扩展扩展点来提供自定义的所谓 快速修复 或 解决方
  • PHP != 和 == 运算符

    这让我困惑了一段时间 我正在运行一个目录并回显其内容 并且我想排除 和 文件 现在 这段代码可以工作 if files scandir temp foreach files as file if file OR file else echo
  • 加密 Android 中的现有数据库

    我已经在 Play 商店中发布了一个应用程序 现在 我想加密应用程序的数据库 我知道 Android 版 SQLCipher 可以为我做到这一点 但问题是我的应用程序已经被很多用户使用 并且他们里面有很多未加密的数据 现在 如何将 SQLC
  • .emacs 中的多个自定义设置面和自定义设置变量?

    当我通过M x customize face菜单并将更改保存到磁盘 Emacs 将自动生成的代码添加到我的 emacs文件看起来像这样 custom set faces custom set faces was added by Custo
  • 将 numpy.array 存储在 Pandas.DataFrame 的单元格中

    我有一个数据框 我想在其中存储 原始 numpy array df COL ARRAY df apply lambda r np array do something with r axis 1 但似乎pandas尝试 解压 numpy a
  • Spark:从逻辑计划中提取数据帧

    这行代码将数据帧转换为逻辑计划 val logical df queryExecution logical 我们可以做相反的事情 即从逻辑计划中提取使用的数据帧吗 在 Dataset 对象中有一个方法 def ofRows sparkSes
  • OAuth2/Google CalDAV - 用户日历列表

    我曾经请求 caldav 服务器为给定用户提供所有定义的日历 这适用于 fruux ownCloud Sabre 以及 GCalendar 的经典方法 请求是这样的 method PROPFIND headers Depth 1 urlst
  • 无法加载文件或程序集“WindowsBase,版本 4.0.0.0”

    今天早上买了一台新机器 然后安装了 Visual Studio 2012 这是我启动时遇到的错误 Microsoft Visual Studio Could not load file or assembly WindowsBase Ver
  • 使用 Active Storage 在 active_admin 中上传多个图像

    我发现有关在 activeadmin 中使用 Active Storage 上传图像的有用文章 https medium com maris cilitis using ruby on rails active storage image
  • css : 对当前和上一个元素的悬停效果

    我有很多无序列表 每个列表有 5 里 ul class Rank li li li li li li li li li li ul 我想改变background color当前的li hover元素和所有之前的元素li该列表中的元素 假设
  • 在 C++ 中定义运算符 **

    如何定义运算符 这样它就可以执行 2 个数字的幂运算 例如2 3 它应该给出答案为 8 或者间接地有什么方法可以通过运算符重载而不是 define宏 你不能 您只能重载现有运算符 而不能重载内置类型
  • 处理 TCP 提供程序:错误代码 0x68 (104)

    我正在使用此代码将我的数据库与客户端同步 import pyodbc SYNC FETCH ARRAY SIZE 25000 define connection cursor connection pyodbc connect cursor
  • Wiremock:如何使用 API 将文件上传到文件夹 __files

    wiremock 的文档说我们可以通过以下代码模拟检索文件的请求 request method GET url body file response status 200 bodyFileName path to myfile xml 但现
  • 在MATLAB中读取带有逗号小数分隔符的txt文件[重复]

    这个问题在这里已经有答案了 我有一个这样的txt文件 1 6 2 6 5 5 1000 columns 0 1 4 2 5 1000 rows 即用 代替 作为小数点分隔符 如何在 MATLAB 中正确读取此内容并输出 1 6 2 6 5
  • maven - 使用 Spring 进行接口和实现的单独模块

    我们正在致力于 Maven 化我们的 java 项目 我们希望在每个模块的接口和实现之间建立一个清晰的分离 为此 我们希望将每个模块分成两个子模块 一个用于它们使用的接口和数据对象 另一个用于实现 例如 commons commons ap
  • 我怎样才能做文本计时器

    我想在用户单击 重新发送 时显示 1 分钟的计时器 Text text Re send modifier Modifier clickable color Color Blue 要创建具有 2 种颜色的文本 您需要 annotatedStr
  • 用嵌套对象展平数组

    我有一个包含对象的数组 可以有子对象 子对象与父对象具有相同的结构 基本上只是对象嵌套 我想知道如何展平对象的结构 以便获得所有对象的 id 包括嵌套对象的 id 例如 这个结构 const data id 2 children id 1
  • 使用注释配置的 Spring 控制台应用程序

    我想创建 spring 控制台应用程序 使用 maven 从命令行运行 例如 mvn exec java Dexec mainClass package MainClass 我想要这个应用程序有某种服务和 dao 层吗 我知道如何为 Web