我有一个春季启动项目.我的项目中有几个xsds.我使用maven-jaxb2-plugin生成了类.我已经使用本教程来运行示例Spring启动应用程序.
import org.kaushik.xsds.XOBJECT;
@SpringBootApplication
public class JaxbExample2Application {
public static void main(String[] args) {
//SpringApplication.run(JaxbExample2Application.class, args);
XOBJECT xObject = new XOBJECT('a',1,2);
try {
JAXBContext jc = JAXBContext.newInstance(User.class);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(xObject, System.out);
} catch (PropertyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我担心的是我需要映射架构的所有jaxb类.还有一些东西在Spring中可以用来使我的任务更容易.我查看了Spring OXM项目,但它在xml中配置了应用程序上下文.弹簧靴是否有任何我可以开箱即用的东西.任何例子都会有所帮助.
编辑
我尝试了xerx593的答案,并使用main方法运行了一个简单的测试
JaxbHelper jaxbHelper = new JaxbHelper();
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setClassesToBeBound(XOBJECT.class); …Run Code Online (Sandbox Code Playgroud) 我有一个要求,我需要使用 logback 以 csv 格式编写日志。我找到了一个样本,我可以做到这一点
<appender name="csv" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylog.csv</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.csv</fileNamePattern>
<!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>100MB</maxFileSize>
<maxHistory>60</maxHistory>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)
但是,我还需要在每个文件中都有一个这样的标准标题:-
Time,User,Param1,Param2
Run Code Online (Sandbox Code Playgroud)
如何在每个滚动文件中添加标题