草庐IT

Spring中bean的生命周期

全部标签

java - Spring什么时候创建被注入(inject)对象的实例

Spring进行DI并创建对象,因此您的程序无需担心创建对象。但这里的问题是何时创建注入(inject)对象的实例。是在主程序使用实例时还是在创建主程序实例时。 最佳答案 上下文中的所有beans在上下文启动时被实例化、注入(inject)和初始化。当从上下文中检索到第一个bean时,所有bean都已准备就绪。有两件事可以阻止bean在上下文启动时被初始化:一个bean配置有differentscope(例如prototype、request或session),使用scope="xyz"属性一个bean被标记为lazy-init="

java - Spring-Hibernate DAO 命名约定?

以下列方式命名DAO是否很典型:UserDAO-interfaceUserDAOImpl-implementsUserDAO我想知道使用后缀“Impl”来实现是否是标准,或者更有意义的东西是否是最佳实践。谢谢。 最佳答案 这就是我通常使用的。有时,Default前缀(如DefaultUserDAO)可能更有意义,如果您正在创建一个您希望其他人实现但您提供引用实现的接口(interface)。大多数时候我觉得这两者可以互换使用,但在某些情况下,一个比另一个更清晰。 关于java-Sprin

java - 无状态 session bean 中的多线程?

EJB3.0规范不允许无状态sessionbean的业务方法创建新线程。这是为什么?创建仅执行原始计算且从不调用应用服务器的额外工作线程有什么问题?比如说,我的sessionbean实现了一个让用户上传图像的服务,业务方法对这些图像进行cpu密集型图像处理。那么它只能使用一个cpu核心来完成这项工作,即使机器有8个或更多核心?如果我使用在内部创建工作线程的第三方图像处理库,我也会违反EJB规范,即使该库和这些线程与EJB容器完全无关。这似乎不对。如果我忽略EJB规则并仍然创建一些工作线程来进行CPU密集型处理,会发生什么情况?当然,这些线程永远不会接触任何应用程序服务器对象,并且bea

java - 如何在我的 spring 项目中编写标签?

我想在我的spring框架中编写我的标签(扩展TagSupport)。在我的标签类中,将使用一些应该由spring自动注入(inject)的服务。但我总是得到null,似乎spring无法在我的标记类中注入(inject)服务实例。代码如下:publicclassFetchTagNameTagextendsTagSupport{@AutowiredprivateTaskServicetaskService;...taskService始终为null。我该如何解决这个问题?谢谢。 最佳答案 尝试使用RequestContextAwar

java - 如何更改 Spring MVC 在处理 url 'dot' 字符时的行为

我正在尝试将Web项目从Jersey迁移到SpringMVC3.0。在我开始迁移应该使用点符号处理URL的Controller之前,这个过程非常简单:“/myApp/resources/create/root.subFolder1”。SpringMVC似乎无耻地从URL中删除了".subFolder1"部分,这发生在框架代码的深处(参见AbstractUrlHandlerMapping类)uriTemplateVariables.putAll(getPathMatcher().extractUriTemplateVariables(matchingPattern,urlPath));所

java - 内存不足错误 : PermGen Space -- Jasper Report with Spring running on Tomcat

我们的网络应用遇到了一个复杂的情况是STS/Tomcat7开发的Spring应用。应用程序与Jasperreport4.6.0集成后,它总是抛出`OutOfMemoryError:PermGenSpace。然后让它工作的唯一方法是重新启动应用程序。但过了一会儿又发生了。这是异常前的日志:Oct17,20123:42:27PMorg.apache.jasper.compiler.TldLocationsCachetldScanJarINFO:AtleastoneJARwasscannedforTLDsyetcontainednoTLDs.Enabledebugloggingforthis

java - Spring 框架 : instantiation exception

我是SpringFramework的新手,所以我决定买一本书(“Springinaction”第3版)。目前我在第一章,涵盖基础知识-依赖注入(inject)(DI)和面向方面的编程(AOP)。我设法运行了显示DI的代码。1#knight实现的接口(interface)packagecom.springinaction.knights;publicinterfaceKnight{voidembarkOnQuest()throwsQuestException;}1#骑士等级packagecom.springinaction.knights;publicclassBraveKnightim

java - 请求元素不以 'Request'结尾时spring-ws生成的wsdl无效

我必须准备一个web服务来接受一个已经定义的wsdl结构。我跟着教程foundhere,带有测试项目的源代码downloadablehere.对于这样的xsd:应用程序返回的请求的wsdl操作是可以的,看起来像这样:但是当我将xsd更改为(元素名称中没有“请求”)时:wsdl无效,并且没有指定的:我该如何解决?我如何制作Request-less元素是否正确显示为wsdl中的肥皂操作输入? 最佳答案 根据officialSpringWSdocumentation,请求/响应后缀是用于自动确定请求/响应并因此生成预期WSDL的默认后缀。

java - 如何在 Spring Boot 中记录 Rest Web 服务所花费的时间?

我正在使用SpringBoot编写WebRestWeb服务。我想记录我的网络服务处理请求所花费的时间。我还想记录header、方法和调用的URI。几个月前,我使用ContainerRequestFilter和ContainerResponseFilterfilter()方法在我的jerseyweb服务中做了类似的事情。另外,AOP是Better还是Filter? 最佳答案 您尝试过这样的基本过滤器吗?importjava.io.IOException;importjavax.servlet.*;importjavax.servlet

java - Spring Boot - 无法启动嵌入式tomcat错误

pom.xmlorg.springframework.bootspring-boot-starter-parent1.5.3.RELEASEorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcatorg.springframework.bootspring-boot-maven-plugin2017-04-3009:01:40.515INFO5044---[main]startdemo.StartdemoApplication:StartingSta