[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,这样就不容易造成内在溢出了
你这样写就是对的。