spring注释管理pojo

时间:2014-07-28 13:14:45

标签: spring spring-mvc

我使用spring注释来管理java bean,在服务层使用@service,在注入服务时使用@autowired,但现在我有一个问题,如何通过spring管理POJO?

例如,我需要返回一个用户进行ajax调用,所以我需要总是这样写:

User user = new User()......
return user;

那么,我如何使用

@autowired User user;

用户POJO将是:

@component
@scope("prototype")
public class User{}

所以每次用户实体都是新用户,我不需要每次都新建用户实体, 但是我没有这样写,所以春天可以管理POJO成为原型吗?

更新==================================== 谢谢你的回答

2 个答案:

答案 0 :(得分:0)

请尝试以下代码:

@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class User 
{
 ......
}

希望它有所帮助。

答案 1 :(得分:0)

你有三种选择我能想到的。你想要的是能够在单身内创建原型。所以你可以使用..

1)AOP Scoped Proxy。 因此,将User类注释更改为...

@Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS)

(这需要你的类路径上的cglib)

2)查找方法 这是一个更多的参与,使事情有点难以测试

3)让你的类实现ApplicationContextAware,然后你可以在需要新原型时在上下文中调用getBean。

谷歌搜索会让你感到厌烦,但我推荐第一个选项