我的问题基本上是对这个问题的后续行动.
@RestController
public class TestController
{
@RequestMapping("/getString")
public String getString()
{
return "Hello World";
}
}
Run Code Online (Sandbox Code Playgroud)
在上面,Spring会在响应体中添加"Hello World".如何将String作为JSON响应返回?我知道我可以添加引号,但这更像是一个黑客.
请提供任何示例来帮助解释这个概念.
注意:我不希望这直接写入HTTP响应体,我想以JSON格式返回String(我使用我的Controller与RestyGWT,它要求响应是有效的JSON格式).
我正在尝试将我的角度2项目从2.0.0升级到2.4.1.据我所知,自2.0.0版本开始采用语义版本控制,2.xx版本应该是替代版本.我的经验似乎表明不是这样.也许我只是不知道我在做什么,但我没有发现这是直截了当的......
我天真的第一种方法是手动更新我的@angular依赖项.您可以在下面引用我的package.json(更新1).我做了这些更改,然后做了一个2.0.0,我收到了几个警告,然后当我尝试做一个时出现以下错误2.4.1.
无法读取未定义的属性'AssetUrl'
我的警告......
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.15: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN @angular/core@2.4.1 requires a peer of rxjs@^5.0.1 but none was installed.
npm WARN @angular/core@2.4.1 requires a peer of zone.js@^0.7.2 but none was installed.
npm WARN @angular/http@2.4.1 requires a peer of rxjs@^5.0.1 but none was installed.
npm WARN @angular/compiler-cli@0.6.4 requires a peer of @angular/compiler@2.0.2 but none was …Run Code Online (Sandbox Code Playgroud) 我正在使用spring-boot,并遇到类似于此处描述的错误.我在pom.xml中添加了以下内容.
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$-->
<version>1.1.0.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我通过Spring启动覆盖了我的父pom.xml中定义的validation-api 1.0.0依赖关系,这给出了令人讨厌的警告消息:
覆盖managed-api的托管版本1.0.0.GA
如何在Eclipse中永久禁止此警告消息?它显示在我的pom.xml和我的问题视图中.
我想为Spring-Boot应用程序添加一个备用入口点.我宁愿把它当成一个胖罐子.这可能吗?
根据他们的文档,该属性loader.main指定要启动的主类的名称.
我试过java -jar MyJar.jar --loader.main=com.mycompany.AlternateMain但是我的pom.xml中指定的start-class仍在运行(如果我从pom.xml中删除它,那么我在打包时出错).
或者,我试过,java -cp MyJar.jar com.mycompany.AlternateMain但我不知道将所有嵌套jar添加到类路径的好方法.
有什么建议?
编辑:这是我使用的解决方案
正如jst建议的那样,我改变了我的启动器以使用PropertiesLauncher.我通过修改spring-boot-maven-plugin的配置来做到这一点.
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>${start-class}</mainClass>
<layout>ZIP</layout>
...
Run Code Online (Sandbox Code Playgroud)
该<layout>ZIP</layout> 触发器春季启动使用PropertiesLauncher.
我创建了我的胖罐(mvn包),然后像这样调用备用main:
java -jar -Dloader.main=com.mycompany.AlternateMain MyJar.jar
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
入站和出站通道适配器之间的根本区别是什么?
任何例子都会非常有用.
我已经回顾了Spring文档,这种"定向"区别对我来说并不清楚.我支持配置了出站通道适配器的应用程序,但我发现行为计数器直观的出站标签.此适配器获取外部文件,然后将其带入我们解析文件并保留数据的应用程序.
这与此问题类似,但我想更加关注通道适配器,并希望获得更多反馈!
谢谢!
多年来我一直是Eclipse用户,内容协助一直很好.自从我转换到Eclipse Neon以来,我一直遇到内容辅助问题.内容辅助挂起几秒钟然后我收到以下错误:
我的同事也在使用Eclipse Neon,但没有这个问题.有没有关于如何解决这个问题的建议?
在遇到这个问题后,我试图减少一些开销,但是我已经搞乱了我的内容辅助设置,但这没有帮助.当前状态如下所示.
另外一个注意事项 - 我也尝试将以下内容添加到我的eclipse.ini中,但这也无济于事.
-vmargs -Dorg.eclipse.jdt.ui.codeAssistTimeout = 60000
我的期望是在事务范围内访问集合时应该获取延迟加载的集合.例如,如果我想获取一个我可以调用的集合foo.getBars.size().缺少活动事务应该导致异常,并显示错误消息
没有懒惰地初始化一组条形图:....无法初始化代理 - 没有会话
但是,我注意到我的最新应用程序中的行为有所不同.我正在使用Spring Boot 1.5.1和"data-jpa"启动器.我过去使用过Spring Boot,但数据-jpa启动器对我来说是新的.
考虑以下情况.我有一个懒惰加载的ManyToMany集合.
@SuppressWarnings("serial")
@Entity
@Table(name = "foo")
public class Foo implements java.io.Serializable {
....
private Set<Bar> bars = new HashSet<Bar>(0);
....
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "foo_bar_map",
joinColumns = {@JoinColumn(name = "foo_id", nullable = false, updatable = false)},
inverseJoinColumns = {@JoinColumn(name = "bar_id", nullable = false, updatable = false)})
public Set<Bar> getBars() {
return this.bars;
}
public void setBar(Set<Bar> bars) {
this.bars = bars;
}
Run Code Online (Sandbox Code Playgroud)
我的服务方法未标记为Transactional,但我正在访问延迟加载的集合
@Service
public …Run Code Online (Sandbox Code Playgroud) 我一直在研究使用mvc:annotation-driven标签时我们有哪些额外的功能,我很难消化结果,特别是在@Controller注释方面.我知道这与这个问题非常相似,但请听我说.
根据Spring文档
@Controller注释的基本目的是充当带注释的类的构造型,指示其角色.调度程序将扫描这些带注释的类以查找映射方法,检测@RequestMapping注释(请参阅下一节).
然后,文档继续显示上下文:component-scan标记提供此支持.所以这一切都很好,但后来我看着mvc:annotation-driven给了我们什么,上面提到的stackoverflow 问题提供了以下答案
mvc:annotation-driven声明显式支持注释驱动的MVC控制器(即@RequestMapping,@ Controller,虽然支持这些是默认行为),并通过@Valid添加对declrative验证的支持,并使用@RequestBody添加消息体编组/ ResponseBody.
这对我来说似乎有点多余.也许我得不到这种明确的支持.再次,回顾官方的Spring 文档,我们得到以下内容
[mvc:annotation-driven]注册Spring MVC将请求分派给@Controllers所需的DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter bean.
这听起来与我从文档中提供的最后一个例子非常相似.如果任何人都可以提供一些关于我们如何使用@Controller注释只使用上下文:component-scan标签,一些限制是什么,那么我们在添加mvc:annotation-driven时获得的附加功能的示例标签,我认为这将非常有帮助.在此先感谢任何支持.
我在Oracle 11g数据库中有一个表SECTION_ANSWER,它有一个XMLType列.XML非常简单,它遵循以下结构:
<section sectionID="1">
<question questionID="1" questionType="text">
<answer>Green</answer>
</question>
<question questionID="2" questionType="multiselect">
<answer>101</answer>
<answer>102</answer>
<answer>105</answer>
<answer>107</answer>
</question>
</section>
Run Code Online (Sandbox Code Playgroud)
我需要将'105'的答案更新为'205'.我过去使用UPDATEXML做过类似的事情.例如,如果我要更新只有一个答案的questionID 1,我可以执行以下操作:
UPDATE SECTION_ANSWER sa
SET sa.section_answerxml = updatexml(sa.section_answerxml, '//section[@sectionID="1"]/question[@questionID="1"]/answer/text()', 'BLUE')
Run Code Online (Sandbox Code Playgroud)
但是,这次更新questionID 2我遇到了麻烦,因为有多个答案节点,我不知道需要更新的内容将在哪个节点中.任何人都可以了解如何执行此类更新?
我下载了Eclipse Luna并导入了一个稳定的现有Maven项目,该项目使用了@Getter和@Setter lombok注释.注释被识别,但Eclipse标记对getter或setter方法的任何调用,给出错误消息
对于类型Foo,方法getSomething()未定义
与其他stackoverflow问题不同,像这样,我遇到了这个问题,尽管我已经更新了我的eclipse.ini,并将lombok.jar添加到与我的eclipse.exe和eclipse.ini文件相同的目录中.eclipse.ini的变化虽然没有区别,但我到处都有错误的市场!
的eclipse.ini
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.7.0_51\bin\javaw.exe
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
Run Code Online (Sandbox Code Playgroud)
我做了一个项目>干净,我已经尝试使用我的lombok jar的完整路径,我已经退出并重新启动Eclipse都无济于事.
我在这里错过了什么?谢谢你的帮助!!!
java ×7
spring ×5
eclipse ×3
spring-boot ×3
maven ×2
spring-mvc ×2
angular ×1
angular-cli ×1
eclipse-neon ×1
jar ×1
jpa ×1
json ×1
lombok ×1
m2eclipse ×1
oracle ×1
rest ×1
spring-data ×1
sql ×1
updatexml ×1
xml ×1
xquery ×1