我正在处理几个Spring MVC web应用程序,并使用getter / setter依赖注入,在我的app-servlet.xml文件中配置所有bean。
我相信我遵循了大多数属性和bean的约定,这些属性和bean被注入到我的控制器bean中,例如我的DAO和其他bean,这些都是我在applicationContext.xml或app-servlet.xml中指定的。
随着我的应用程序变得越来越复杂和庞大,这些文件中的bean填充了更多的被注入的属性。
我的问题是,什么是应该被注入的内容,什么是应该作为控制器的实例字段/变量指定的约定。
有时候我会面临这样的情况:我要在实际控制器中指定字段的值,还是将该值注入到该控制器的bean中。
例如,我正在使用Velocity模板库发送电子邮件。这里有一个指向我的Velocity模板目录的路径。我需要做以下之一:
在我的控制器中指定该值。
我相信我遵循了大多数属性和bean的约定,这些属性和bean被注入到我的控制器bean中,例如我的DAO和其他bean,这些都是我在applicationContext.xml或app-servlet.xml中指定的。
随着我的应用程序变得越来越复杂和庞大,这些文件中的bean填充了更多的被注入的属性。
我的问题是,什么是应该被注入的内容,什么是应该作为控制器的实例字段/变量指定的约定。
有时候我会面临这样的情况:我要在实际控制器中指定字段的值,还是将该值注入到该控制器的bean中。
例如,我正在使用Velocity模板库发送电子邮件。这里有一个指向我的Velocity模板目录的路径。我需要做以下之一:
在我的控制器中指定该值。
private String basePath = "/path/to/velocity/templates";
我可以在我的控制器bean中将相同的值注入到该控制器中。
<property name="basePath" value="/path/to/velocity/templates"/>
在我的类中,我将注入此值的getter / setter。
我不确定每个的分界线在哪里。