Tag: 范围

Spring bean destroy-method,singleton和prototype范围

我是Spring框架的新手,从一些教程开始学习它。 我有以下文件, #MainProgram.java package test.spring; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainProgram { public static void main(String[] args) { AbstractApplicationContext context = new ClassPathXmlApplicationContext(“Bean.xml”); HelloSpring obj = (HelloSpring) context.getBean(“helloSpring”); obj.setMessage(“My message”); obj.getMessage(); context.registerShutdownHook(); } } #HelloSpring.java package test.spring; public class HelloSpring { private String message; public void setMessage(String message){ this.message = message; System.out.println(“Inside setMessage”); } […]

匿名内部类中的Java本地变量可见性 – 为什么需要’final’关键字?

我不明白为什么我不能总是从’listener’或’handler’中访问变量。 这是我的代码: Button btnDownload = new Button(myparent, SWT.NONE); btnDownload.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { btnDownload.setEnabled(false); // I CAN’T } }); 唯一的方法是使用final关键字声明它: final Button btnDownload = new Button(myparent, SWT.NONE); 为什么我需要声明变量final以获取事件内的访问权限?

关于java中变量范围和阴影的问题

我遇到这种情况我无法理解阴影。 例如以下代码 class Foo { int a = 5; void goFoo(int a) { // No problem naming parameter as same as instance variable for (int a = 0; a < 5; a++) { } //Now the compiler complains about the variable a on the for loop // i thought that the loop block had its […]

当我想在方法中引用实例变量时,我应该使用“this”关键字吗?

我的老师说,当我尝试访问方法中的实例变量时,我应该总是使用this关键字,否则我会执行双重搜索。 本地范围搜索,然后是实例范围搜索。 例: public class Test(){ int cont=0; public void Method(){ System.out.println(cont);//Should I use This.cont instead? } } 我希望他错了,但我找不到任何争论。

日期范围中的日期范围

实际上这个任务对我来说似乎很容易,但我有点卡住了,并会感谢一些提示:D 我有一些有开始和结束时间的事件 – 我想创建一个包含日历周的表格。 因此,我写了一个方法来检查一个事件是否在本周内为它着色如下: private boolean inWeek(Date date, Entry pe) { return ((pe.getStartsAt().after(Util.firstDayOfWeek(date)) || pe.getStartsAt().equals(Util.firstDayOfWeek(date))) && (pe.getEndsAt().before(Util.lastDayOfWeek(date)) || pe.getEndsAt().equals(Util.lastDayOfWeek(date)))); } 如果事件持续一周,这个案子还可以。 但如果事件在本周之前开始,或在本周之后结束甚至持续数周,该怎么办? 它变得非常复杂,我目前的解决方案是: private boolean inWeek(Date date, Entry pe) { return ( pe.getStartsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().before(Util.lastDayOfWeek(date)) ) || ( pe.getStartsAt().before(Util.lastDayOfWeek(date)) && pe.getStartsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().after(Util.lastDayOfWeek(date)) ) || ( pe.getStartsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().before(Util.lastDayOfWeek(date)) ) || ( […]

Servlet重定向到同一页面,并显示错误消息

我有一个关于servlet重定向到同一初始页面的问题。 以下是场景:假设用户想要购买物品,那么他填写金额并提交。 表单将提交给servlet,并根据数据库中的可用数量检查可用数量。 因此,如果订购的商品数量超过可用商品数量,则servlet会重定向到同一页面,但会显示“商品不可用”等消息。 所以我的问题是如何实现这个案例。 如何使用错误消息重定向到相同的初始页面。 我不想在这里使用ajax。 以下是我如何将其视为:1。)如果生成错误,我应该设置上下文属性,然后在重定向后再次在初始页面中再次检查它并显示已设置的消息。 这类活动的最佳做法是什么?

什么是非范围bean以及何时使用它?

有人可以解释什么是无范围和目的吗? 假设我有一个豆子 request scope as r1 session scope as s1 application scope a1 并且说我没有将范围bean n1注入到上述每个范围中,然后我发现当实例化其父bean [r1 / s1 / a1]时,n1将被实例化为每个父bean。 a1中的无范围bean在a1中始终可用,因为a1是appl范围。 s1中的无范围bean只有在s1未被销毁且s1再次创建时才可用,n1将被实例化并可供其使用。 这是对的吗? 以及使用它的目的是什么? 只是为了避免创造这样的豆我们自己? 非常感谢

局部变量,实例字段,输入参数和类字段之间有什么区别?

相对于简单的Java程序,局部变量,实例字段,输入参数和类字段之间有什么区别?