Tag: spring

在从一个页面导航到另一个页面(View Scope)时设置辅助bean中的属性不起作用

我在视图范围内有一个支持bean Authority ,我有两个页面viewRoles和editRole映射到这个支持bean。 在viewRoles页面中有一个转到editRole页面的链接: 它导航到另一个页面,但该属性未设置,即使bean位于视图范围内并且两个页面都映射到同一个辅助bean。 它仅在我将视图范围更改为会话范围时才有效。 注意:我的bean是由Spring管理的,这个视图范围也不是JSF默认的@ViewScoped ,它是我在http://cagataycivici.wordpress.com/2010/02/17/port-jsf-2上找到的自定义范围。 -0s-viewscope-to-spring-3-0 / 。 我也使用PrettyFaces来管理我的导航。 问题是,上述场景是否应该与真正的JSF2 @ViewScoped @ManagedBean还是与Spring相关的问题或其他问题? 请指教。

在Java中创建带注释的对象时收到通知

意图 我有一个自定义的Java注释: @DynamicField public class RESTEndpointInvoker { @DynamicField(key=”httpTimeout”) private long httpTimeout = 8000L; public void setHttpTimeout(long t){ this.httpTimeout = t; } 当有人更改与带注释的字段对应的文件或数据库中的值时,为具有该属性的所有实例调用setter以反映新值。 因此,我需要跟踪在地图或其他内容中使用注释的所有实例,以便在外部发生更改时更新它们: Map<Key,List> 注意:我打算使用某种forms的WeakHashMap()来避免保持对陈旧实例的引用。 题 如果我不控制何时以及如何创建这些实例,如何跟踪带注释但任意的实例? 理想情况下,我希望在创建实例时收到通知。 试着 我可以扫描类路径中的类类型 ,然后在每个类中搜索带注释的字段(见下文),但我不确定如何跟踪实例。 //get classes with annotation Reflections r = new Reflections(“com.foo”, new TypeAnnotationsScanner()); Set<Class> allAnnotated = r.getTypesAnnotatedWith(DynamicField.class); //identify fields for(Class cls : allAnnotated){ for(Field field : […]

在Spring AOP介绍中丢失了原始界面

这是我的Spring AOP配置。 ApplicationContext context = new ClassPathXmlApplicationContext(“myApp.xml”); Object myObject = context.getBean(“myObject”); if (myObject instanceof OriginalClass) { System.out.println(“This is OriginalClass”); } if(myObject instanceof IntroducedInterface) { System.out.println(“This is IntroducedInterface”); } 通过这个介绍,我能够调用IntroducedInterface中的方法。 但是,我无法访问OriginalClass的方法。 在上面的代码片段中,我从未打印出’This is OriginalClass’。 根据“简介”的定义,我理解实现新接口的代理将从OriginalClass扩展并使其’方法也可访问。 我在这里错过了什么吗? 有人可以解释一下原因吗? PS:以下是Spring in Action(第3版)中描绘的图片。

如何在spring批处理中读取ini文件(key = value)

我想创建一个批处理使用Spring批处理从ini文件中读取数据并将数据保存在数据库中但是当我查询org.springframework.batch.item.file.FlatFileItemReader类时,我没有找到解析数据的方法在ini文件中,我试图将ini4j API与spring批处理相结合但没有结果 我的ini文件: [Cat] a=1 b= 2 c= 3 d= 4 e= 5 f= 6 [Cat2] a=11 b= 21 c= 31 d= 41 e= 51 f= 61

如何使用Spring 4 Rest Controller为Jsp视图服务?

我已经创建了Spring 4项目来构建rest服务。 所以我已经创建了超过50个rest服务,现在需要为此创建web-app。 所以我想重用相同的控制器,所以我只需要编写视图(JSP)代码。 为了同样我用Google搜索并找到了http://www.mkyong.com/spring-mvc/spring-3-mvc-contentnegotiatingviewresolver-example/,但这给了我一个错误。 Morover我的项目结构如下。 那么我需要在servlet-context.xml中编写这个配置? 实现的最佳方式是什么? 主要是我只需要输出Json和html。 所以它的我的http请求有一个扩展名.json和.jsp。 下面是我的一个控制器的代码。 下面是我创建Rest服务的方式,现在我希望这个方法与JSP页面的服务器相同。 package com.alumini.spring.controller; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.alumini.spring.DAO.CourseDAO; import com.alumini.spring.model.Alumini; import com.alumini.spring.model.Course; @RestController public class CourseController { @Autowired private CourseDAO courseDao; @RequestMapping(value = “/getCourseList”) public List getCourseList(@RequestParam(“email”) String email,@RequestParam(“password”) String password) { List listCourse = […]

反序列化会话数据时出现InvalidClassException错误

这是调用代码: Object attribute = session.getAttribute(name, scope); 这会引发以下错误: Could not deserialize session data. java.io.InvalidClassException: org.apache.commons.lang.time.FastDateFormat; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -7186497712641044641 环境是Weblogic。 Web应用程序是一个spring portlet。 我正在努力了解如何解决这个问题。

Spring @Before更改每个用户登录

我有一个@Aspect类,它执行@Before方法并使用用户登录中的一些Id拦截所有查询。 但问题是:每次用户登录时,@Before方法的Id都会更改为所有已登录用户,只需更改当前用户即可。 简单的过程:当用户登录时,@ Aspect类获取其id以拦截所有查询。 但是这个id正在为每个登录用户而改变。 也许应该是会话的问题,我真的不知道。 方面类: @Aspect @Component @Transactional(propagation = Propagation.REQUIRED) public class TenancyAspect { @Autowired private EntityManager manager; @Autowired private AppUserDetailsService appUserDetailsService; @Before(“execution(* com.tc.tcqualidade.repository.*.*(..)) ” +”&& !execution(* com.tc.tcqualidade.repository.UsuarioRepository.porEmailEStatus(..))” +”&& !execution(* com.tc.tcqualidade.repository.UsuarioRepository.permissoes(..))”) public void definirTenant() { String tenantid = appUserDetailsService.getTenantId(); if (tenantid != null) { manager.unwrap(Session.class).enableFilter(“tenant”).setParameter(“id”, tenantid); } } } 登录类: @Service public class […]

DTO可以是春季管理的豆类吗?

我使用的是Spring 3.0。 我有很少的DTO。 我可以声明它们是春豆吗? 如果是这样,bean范围应该是什么?

Spring – 在JPA事务之后提交JMS事务

我有两个事务管理器: JpaTransactionManager ( myJpaTm )和myJmsTm ( myJmsTm )。 考虑以下代码: @Named public class TestA { @Inject TestB testB; @Transactional(transactionManager=”myJpaTm”) public void methoda() { // store stuff in db testB.methodb(); } } @Named public class TestB { @Transactional(transactionManager=”myJmsTm”) public void methodb() { // send few JMS messages } } 我们有外部JPA事务和内部JMS事务,两者都是分开的,因为我们没有使用分布式事务。 我想在提交JPA事务后立即提交JMS事务。 在这种情况下,当前的JMS事务需要连接到父JPA事务。 我不是在寻找分布式事务的替代,我只想在将数据提交到数据库之后发送JMS消息。 我知道我可以创建另一个可以调用methodb ,然后methodb调用methodb ,但我想通过连接两个事务来解决它。

Spring Rest API最大大小HTTP POST

我目前有一个Java Spring Rest API,可以将图像base64上传到我的服务器。 现在我想知道是否有一种方法可以限制上传大小,以便人们无法上传1GB并使我的服务器崩溃。