如果Spring配置只包含Eagy(非惰性)singleton beans,即默认值,那么Spring是否可能在任何地方都没有注入这些bean的情况下抛出异常?我本质上是在寻找一种以Spring bean的形式检测死代码的方法。
我的问题有点类似于这些。
然而,
如果缺少必要的bean,Spring肯定会抛出异常。它是否也可以在找到bean但不需要的相反场景中抛出异常?
TL/DR:
Spring不支持这一点(而且可能永远不会)。
让我们看看下面的例子:
首先,我们有一个简单的接口DataService
public interface DataService {
String getData();
}
现在我们有两个spring bean实现了这个接口:
@Service("firstDataService")
public class FirstDataService implements DataService {
@Override
public String getData() {
return "FIRST DATA SERVICE";
}
}
@Service("secondDataService")
public class SecondDataService implements DataService {
@Override
public String getData() {
return "SECOND DATA SERVICE";
}
}
@Service
public class DataCollector {
@Autowired
ApplicationContext applicationContext;
String getDataFromService(String beanName) {
DataService ds = (DataService) applicationContext.getBean(beanName);
return ds.getData();
}
}
现在,当spring在上下文初始化期间查看DataController
的定义时,无法确定DataCollector
依赖于哪些bean。这完全取决于应用程序逻辑,以及调用GetDataFromService
方法时Beanname
参数所使用的值。
因此,spring无法确定是否有从未使用过的bean(因为bean的使用可以是动态的,就像上面的例子一样)。
问题内容: 我是AngularJs的新手,所以这可能微不足道。是否有内置的AngularJ 来检测表单中未保存的数据。如果没有,那么如何去写一个。任何指针将不胜感激。 html代码是 我的角度js控制器代码是 我正在尝试编写指令以检测未保存的数据,并且我猜想它会写在上述控制器中。 问题答案: AngularJS设置CSS类和任何输入栏你已经使用在NG- 模型,您的FormController拥有的
日安。 我试着让我的电脑检测我的JDK,我想安装SDK管理器,对于eclipse,我的目标是运行一个虚拟的android设备。我已经安装了JDK,并设置了JAVA_HOME路径。下面是路径的一些片段。我目前正在运行Windows1064bit,没有找到任何链接到其他要做的事情。我已经找了一段时间了。 CMD错误消息 如果有人知道我做错了什么,请告诉我。
我有一个带边的无向图。每条边都具有一定的性质,如A点和B点之间的边之一是 在C点和D点之间的另一个可以是 我们得到了这样一个图和已知的旅行路径 有快一点的吗?
我有一堂名为“吃饭”的课。swift在我的项目和单元测试中 但问题是:使用未解决的标识符"Meal"
问题内容: 下面是到目前为止的代码 如何发出警报或是否有一些未保存的数据,以便用户决定是否继续? 问题答案: 这样的事情应该做到: 请注意,在此示例中未触发$ locationChangeStart的侦听器,因为在这样一个简单的示例中AngularJS不处理任何路由,但它应在实际的Angular应用程序中运行。
问题内容: 我需要在ASP .Net应用程序中实现“未保存的更改”提示。如果用户修改了Web表单上的控件,并试图在保存之前导航离开,则将出现提示,警告他们尚未保存更改,并为他们提供取消并保留在当前页面上的选项。如果用户未触摸任何控件,则不应显示该提示。 理想情况下,我想用JavaScript实现此功能,但是在我开始滚动自己的代码之前,是否有任何现有的框架或推荐的设计模式来实现这一目标?理想情况下,