Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring项目中我应该使用哪些类?_Java_Spring - Fatal编程技术网

Java 在Spring项目中我应该使用哪些类?

Java 在Spring项目中我应该使用哪些类?,java,spring,Java,Spring,我正在学习spring框架,我有一个问题。当我创建Java/Spring项目时,我应该选择哪些类在SpringXML中描述为bean?例如:如果我想访问名为Student的DB表,我将创建以下类:Student、StudentMapper(实现行映射器)和StudentJDBCTemplate(DAO)。我是否应该将项目中的所有这些类都描述为Springbeans?选择类来将其描述为Springbean的标准是什么?如果您遵循严格的Spring框架,请使用ServiceImpl和DaoImpl创

我正在学习spring框架,我有一个问题。当我创建Java/Spring项目时,我应该选择哪些类在SpringXML中描述为bean?例如:如果我想访问名为Student的DB表,我将创建以下类:
Student
StudentMapper
(实现行映射器)和
StudentJDBCTemplate
(DAO)。我是否应该将项目中的所有这些类都描述为Springbeans?选择类来将其描述为Springbean的标准是什么?

如果您遵循严格的Spring框架,请使用ServiceImpl和DaoImpl创建Bean。

规则是,如果一个对象引用了另一个对象,那么这两个对象都应该是Bean,以便在第一个对象中注入第二个。我想你会有一把刀和一个服务。两者都必须是bean,不要忘记注入的bean应该始终通过接口声明。这条规则不是绝对的,但如果需要的话,它允许您轻松地使用AOP,这在java编程中是一个很好的实践

相比之下,
Student
通常没有理由成为bean(不应该被注入,也没有任何东西被注入),而
RowMapper
实现可以只是Dao的一个内部类,因为它不应该在其他地方使用。

1)不要使用XML。这是过时的,学习已经过时的东西是毫无意义的。使用Spring 4并使用注释。2) 几乎所有的。任何具有业务逻辑的东西都应该由
接口
抽象并注入。一旦你理解了这样做的含义,你就可以开始做出更明智的决定——但这是一个很好的开始规则。