Hibernate和Spring数据Jpa的主要区别是什么? 在什么情况下,我们不应该使用Hibernate或Spring Data JPA。 另外当Spring JDBC模板可能比Hibernate / spring数据jpa更有效
我正在与春季启动restAPI。 我需要用input参数(方法,如GET,POST等),请求path,查询string,对应的这个请求的类方法,以及这个动作的响应,成功和错误logging所有的请求。 举个例子: 成功的要求: http://example.com/api/users/1 日志应该看起来像这样: { HttpStatus: 200, path: "api/users/1", method: "GET", clientIp: "0.0.0.0", accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg", method: "UsersController.getUser", arguments: { id: 1 }, response: { user: { id: 1, username: "user123", email: "user123@example.com" } }, exceptions: [] } 或请求错误: http://example.com/api/users/9999 日志应该是这样的: { HttpStatus: 404, errorCode: 101, path: "api/users/9999", method: "GET", clientIp: "0.0.0.0", accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg", […]
经过几天的尝试,并在springource论坛上等待的答案,我会在这里尝试。 运行我的应用程序导致这些exception: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.example.my.services.user.UserService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:924) org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:793) org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133) javax.servlet.GenericServlet.init(GenericServlet.java:212) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) […]
我想在我的spring-boot应用程序开始监视一个目录的变化后运行代码。 我试过运行一个新的线程,但@Autowired服务尚未设置在这一点上。 我已经能够findApplicationPreparedEvent ,它在设置@Autowired注解之前触发。 理想情况下,我希望事件在应用程序准备好处理http请求时触发。 有没有更好的事件使用,或更好的方式来运行应用程序后, 春季启动 ?
来自代码标题的问题: @Transactional (readonly = true) public interface FooService { void doSmth (); } public class FooServiceImpl implements FooService { … } VS public interface FooService { void doSmth (); } @Transactional (readonly = true) public class FooServiceImpl implements FooService { … }
是否有任何开箱即用,易于实现的标准分页组件/标签库或代码示例可用于在Spring MVC分页?
突然之间,这在JUnittesting期间不断发生。 一切正常,我写了一些新的testing,这个错误发生。 如果我恢复它,它不会消失。 这是为什么? log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我已经使用JUnit 4和spring-test库编写了一些JUnittesting。 当我在Eclipse中运行testing,然后运行正常,并通过。 但是,当我使用Maven(在构build过程中)运行它们时,它们失败,从而导致与弹簧相关的错误。 我不确定是什么导致了这个问题,JUnit,Surefire或Spring。 这里是我的testing代码,弹簧configuration和我从Maven得到的exception: PersonServiceTest.java package com.xyz.person.test; import static com.xyz.person.util.FjUtil.toFjList; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import com.xyz.person.bo.Person; import com.xyz.person.bs.PersonService; import fj.Effect; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath*:personservice-test.xml" }) @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false) public […]
我用事务支持configuration了spring。 有什么办法可以logging事务,以确保我正确设置了一切? 在日志中显示是查看正在发生的事情的好方法。
有没有可能计算使用JsonPath的成员数量? 使用弹簧MVCtesting我正在testing一个控制器,产生 {"foo": "oof", "bar": "rab"} 同 standaloneSetup(new FooController(fooService)).build() .perform(get("/something").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()) .andExpect(jsonPath("$.foo").value("oof")) .andExpect(jsonPath("$.bar").value("rab")); 我想确保生成的json中没有其他成员。 希望通过使用jsonPath来对它们进行计数。 可能吗? 备用解决scheme也是受欢迎的。