Tag: spring boot

Spring Data JPA Query中按子对象过滤时出错

我的代码结构如下所示。 文章: @Entity public class NewsArticle{ @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; [Other class properties such as title, publisher, publishedDate, etc.] @OneToMany(mappedBy = “article”) private Set userReadNewsArticles = new HashSet(); [Getters and Setters] } 用户阅读的文章: @Entity public class UserReadNewsArticle { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; private Long readAccountId; private Long readArticleId; @JsonIgnore @ManyToOne private Account account; […]

找不到带URI的HTTP请求的映射(spring 4.1 annotation配置)

首先,请不要锁定这个post。 我已经阅读了所有问题,但仍然无法解决我的问题。 我正在研究如何在spring上使用注释而不配置xml文件。 我正在坚持这个错误: 在DispatcherServlet中找不到具有URI [/WEB-INF/index.jsp]的HTTP请求的映射,其名称为“dispatcherServlet” 这是项目结构 这是我的pom.xml 4.0.0 com.mycompany spring-sample 1.0 war spring-sample ${project.build.directory}/endorsed UTF-8 org.springframework.boot spring-boot-starter-parent 1.2.0.M2 javax javaee-web-api 7.0 provided org.springframework spring-context org.springframework.boot spring-boot-starter-web spring-milestones Spring Milestones http://repo.spring.io/milestone false spring-snapshots http://repo.spring.io/snapshot spring-milestones http://repo.spring.io/milestone org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7 ${endorsed.dir} org.apache.maven.plugins maven-war-plugin 2.3 false org.apache.maven.plugins maven-dependency-plugin 2.6 validate copy ${endorsed.dir} true javax javaee-endorsed-api […]

SpringBoot,如何在不使用ldif的情况下使用LDAP进行身份validation?

我在这里尝试SpringBoot中的LDAP身份validation示例 它使用的是我认为不适用于我的要求的ldif方法,因为我们的ldap管理员不会告诉我在哪里可以找到我需要的ldif。 在springboot之前,我曾经使用过自己的ldap实现而不是使用ldif。 有没有办法validation不使用ldif只是SECURITY_AUTHENTICATION.simple? 下面是我如何在基本的Java没有弹簧的ldap安全性。 如何在不使用ldif基本用户名密码的情况下在spring这样做。 boolean isLdapRegistred(String username, String password) { boolean result = false; try { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, “com.sun.jndi.ldap.LdapCtxFactory”); env.put(Context.PROVIDER_URL, “ldap://10.xxx:389”); env.put(Context.SECURITY_AUTHENTICATION, “simple”); env.put(Context.SECURITY_PRINCIPAL, “OUR-DOMAIN\\” + username); env.put(Context.SECURITY_CREDENTIALS, password); // Create the initial context DirContext ctx = new InitialDirContext(env); result = ctx != null; if (ctx != null) ctx.close(); […]

Spring-boot ErrorPage不能与独立的Tomcat一起使用

我仍然在努力让Spring-boot错误页面完全在一个带有部署WAR文件的独立tomcat中运行。 我有一个配置类如下: @Configuration @ComponentScan @EnableAutoConfiguration(exclude = [ GroovyTemplateAutoConfiguration, SecurityAutoConfiguration, ErrorMvcAutoConfiguration, JmxAutoConfiguration ] ) class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure( SpringApplicationBuilder application ) { application.sources( Application ) } 并且我的error handling配置如下: @Configuration class ErrorConfiguration implements EmbeddedServletContainerCustomizer { @Override public void customize( ConfigurableEmbeddedServletContainer container ) { container.addErrorPages(new ErrorPage( HttpStatus.NOT_FOUND, “/errors/404” )) } 这个信息似乎得到了使用,但并不像我期望的那样 – 如果我只是去一个不存在的URL然后我得到tomcat默认的404页面 […]

Spring Boot / Spring LDAP获取用户成员列表

我想通过从如下结构的LDAP存储库查询其ID来获取用户属性的列表 dn: uid=E000001 ,ou=People,o=Company,o=Internal cn: BOB DOLE statusid: active memberof: cn=foo_group, cn=Foos, ou=Groups, o=Company,o=Internal memberof: cn=bar_group, cn=Foos, ou=Groups, o=Company,o=Internal dn: uid=E000002 ,ou=People,o=Company,o=Internal cn: MARK TEST statusid: active memberof: cn=foo_group, cn=Foos, ou=Groups, o=Company,o=Internal memberof: cn=bar_group, cn=Foos, ou=Groups, o=Company,o=Internal 例如,我查询用户ID“E00001”。 我想要归还这个 [“cn=foo_group, cn=Foos, ou=Groups, o=Company,o=Internal”, “cn=bar_group, cn=Foos, ou=Groups, o=Company,o=Internal”

spring boot kafka consumer – 如何从spring boot中正确使用kafka消息

我正在开发一个弹簧启动应用程序,它假设使用kafka消息。 我有一个奇怪的结果:当我使用kafka-console-producer.sh发送消息时,我的消费者只检测并打印另一条消息。 例如 – 在kafka控制台生产者中,我输入“one” – > Enter – >“two” – > Enter – >“three” – > Enter。 在我的春季靴子消费者中,我只会看到“两个”,“四个”等… 我的ConsumeConfigFactory.java: import java.util.Properties; import javax.annotation.PostConstruct; import kafka.consumer.ConsumerConfig; import org.springframework.stereotype.Component; @Component public class ConsumerConfigFactory { private static final String ZK_CONNECT = “10.211.55.2:2181”; private ConsumerConfig consumerConfig; @PostConstruct private void createConsumerConfig() { Properties props = new Properties(); props.put(“zookeeper.connect”, ZK_CONNECT); […]

Spring REST / Swagger / Postman – 已下载损坏/空白文件

我按照这篇文章的function:客户端可以下载文件(即csv,pdf和zip)。 但要么我得到的pdf是空白的,要么尝试使用zip文件时,它会受到损坏。 只有CSV工作正常 。 我检查了标题,一切看起来都符合标准。 我甚至没有使用“application / octet-stream”和pdf使用“application / pdf”,csv使用“application / csv”,zip使用“application / zip”只是为了避免客户端出现任何问题。 我正在使用swagger 2.4测试我的apis。 这是我的代码。 @CrossOrigin @Controller public class ReportRestController { @Autowired ReportService reportService; @Value(“${report.temp.directory}”) // used for storing file in local private String reportLocation; @ApiImplicitParams({ @ApiImplicitParam(name = “Authorization”, value = “Authorization”, required = true, dataType = “string”, paramType = “header”), @ApiImplicitParam(name = […]

Spring Boot – RestController反序列化YAML上传?

如何配置Spring Boot RestController以接受YAML上传? 以下结果为415.我可以从调试中看到,我的Spring上下文中的MappingJackson2HttpMessageConverter实例仅支持[application/json;charset=UTF-8, application/*+json;charset=UTF-8] 。 我不能成为唯一一个尝试这样做的Spring Boot用户,我很惊讶它不仅仅起作用 – 大多数事情都是在Spring Boot中完成的! 我的POM中有YAML数据格式: com.fasterxml.jackson.dataformat jackson-dataformat-yaml 我的RestController有一个方法: @RequestMapping(method=RequestMethod.POST, value=”/”, consumes=”application/yaml”) public String upload(@RequestBody Declaration declaration) { //Do stuff } 我的测试: @Test public void triggersConvergence() throws Exception { ClassPathResource fixture = new ClassPathResource(“declaration.yml”); HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.add(“Content-Type”, “application/yaml”); requestHeaders.add(“Accept”, “application/json”); URI uri = new URI(“http://127.0.0.1:”+port); byte[] […]

如何配置两个实例mongodb使用spring boot和spring数据

第一个实例是嵌入式MongoDb,第二个实例是实时MongoDb。 它如何配置使用弹簧数据和弹簧启动。 如何通过属性文件轻松切换这些实例? UPDATE 默认情况下,应用程序应启动内置数据库并将数据存储到APPDIR / db目录中 应该可以通过配置mongo.url属性让应用程序知道将使用外部数据库。 在这种情况下,无需启动内部数据库。 而不应该使用外部连接 请粘贴一些配置。 更新我有: de.flapdoodle.embed de.flapdoodle.embed.mongo 1.50.5 spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 spring.data.mongodb.uri=mongodb://localhost/test spring.data.mongodb.database=test # EMBEDDED MONGODB (EmbeddedMongoProperties) #spring.mongodb.embedded.storage.databaseDir=c:/db #spring.mongodb.embedded.version=3.2.2 如果我将指定外部mongodb,那么我希望嵌入式mongodb不应该启动。 java.io.IOException: Could not start process: at de.flapdoodle.embed.mongo.AbstractMongoProcess.onAfterProcessStart(AbstractMongoProcess.java:79) ~[de.flapdoodle.embed.mongo-1.50.5.jar!/:?] at de.flapdoodle.embed.process.runtime.AbstractProcess.(AbstractProcess.java:114) [de.flapdoodle.embed.process-1.50.2.jar!/:?] at de.flapdoodle.embed.mongo.AbstractMongoProcess.(AbstractMongoProcess.java:53) [de.flapdoodle.embed.mongo-1.50.5.jar!/:?] at de.flapdoodle.embed.mongo.MongodProcess.(MongodProcess.java:50) [de.flapdoodle.embed.mongo-1.50.5.jar!/:?] at de.flapdoodle.embed.mongo.MongodExecutable.start(MongodExecutable.java:44) [de.flapdoodle.embed.mongo-1.50.5.jar!/:?] at de.flapdoodle.embed.mongo.MongodExecutable.start(MongodExecutable.java:34) [de.flapdoodle.embed.mongo-1.50.5.jar!/:?] at de.flapdoodle.embed.process.runtime.Executable.start(Executable.java:101) [de.flapdoodle.embed.process-1.50.2.jar!/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) […]

Java Spring Boot Restcontroller RequestMapping执行了两次

我有一个带有RestController的Spring Boot应用程序和一个下载并传递图像的方法: @RestController public class PictureController { @RequestMapping(“/picture/{id}”) public HttpEntity getImage(@PathVariable String id) { logger.info(“Requested picture : >> ” + id + ” <<"); // !! Execute code for downloading !! // Create Headers… // return HttpEntity } } 在日志文件中,我可以读到该方法执行两次 ,我不知道为什么。 如果我删除下载代码,它会按预期执行一次 。 是因为下载需要一秒钟吗? 下载代码是…… byte[] response; try { URL url = new URL(….); InputStream […]