我使用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成为原型吗?
更新==================================== 谢谢你的回答
答案 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。
谷歌搜索会让你感到厌烦,但我推荐第一个选项