java - 如何以及在哪里存储应用程序初始化数据?

标签 java spring spring-mvc initialization

我正在尝试使用 Spring MVC 开发游戏。

例如,我有一个 Monster 类。

在 Spring 中初始化和存储怪物数据的最佳方式是什么?

一种选择是在某些 Init java 文件中创建所有 Monster 实例并创建静态数组,以便每个类都可以访问它们,但这似乎是一种错误的方法。

怪物示例:字符串名称、生命值、防御力、攻击力

另一方面,我应该使用 XML 或属性文件来保存所有 MonsterItem 信息吗?将来如果能轻松添加新的元素怪物那就太好了。

Spring这类工作的常用技术是什么?

我尝试尽可能清楚地解释,如果有不清楚的地方请询问。

最佳答案

JAXB 怎么样?看看编写配置并读取它是多么容易:

import java.io.*;
import java.util.*;
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;

class Config {
    @XmlElementWrapper(name="monsters")
    @XmlElement(name="monster")
    public List<Monster> monsters = new ArrayList<Monster>();
}

class Monster {
    public String name = "Test";
}

public class Test1 {

    public static void main(String[] args) throws Exception {
        Config cfg = new Config();
        cfg.monsters.add(new Monster());
        //save 
        OutputStream os = new FileOutputStream("conf.xml");
        JAXB.marshal(cfg, os);
        // read 
        cfg = JAXB.unmarshal(new FileInputStream("conf.xml"), Config.class);
    }
}

conf.xml

<config>
    <monsters>
        <monster>
            <name>Test</name>
        </monster>
    </monsters>
</config>

关于java - 如何以及在哪里存储应用程序初始化数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13701512/

相关文章:

java - 我可以将 GLSurface View (动画)设置为背景吗?

java - 使用 Mustache 模板请求转发到 spring boot mvc 中的另一个 url

java - 如果 URL 中提供了某些参数,如何仅显示页面?

java - JSESSIONID 的值在 session 失效时不会更改

java - 单击取消按钮 showInputDialog

java - 代码 401,需要登录,同时在 Android 上使用 YouTube Data API V3

java - 如何使用 DiscriminatorValue 保存实体

java - CSS 文件不会在 JSP 页面中下载

java - 通过作为方法参数传递对象的副本

java - 如何集成测试用 spring + iBatis 构建的 DAO