不用action调用serice层的问题

[code="java"]public class PubManager {
private static ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

public List<Bigclass> getBigClass()
{
    BigclassManager bigclassManager = (BigclassManager)ctx.getBean("BigclassManager");
    List<Bigclass> bigclass=bigclassManager.findAll();
    return bigclass;
}

。。。
}[/code]

因为前台页面都是程序自动生成,无法通过action来获取数据,
所以用上面的类来获取数据,
private static ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
这个变量开始没有为静态,导致内存一会就溢出,因为一直new没有释放。
改为静态后,内存不溢出了,但是不知道这样是否有问题,请大家看看
或者有什么好方法来实现。

可以这样写:
[code="java"]
@Service
@Transactional
public class PubManager {

@Autowired
private BigclassManager bigclassManager;

public List getBigClass(){

List bigclass = bigclassManager.findAll();

return bigclass;

}

...
}
[/code]

你可以写一个单态模式的去获取ApplicationContext,这样就不容易造成内在溢出了

你这样写就是对的。