Java SpringJDBCTemplate的最佳方式
spring.xml文件Java SpringJDBCTemplate的最佳方式,java,spring,spring-mvc,dependency-injection,Java,Spring,Spring Mvc,Dependency Injection,spring.xml文件 <bean id="jdbcTemp" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="portalDataSource" /> </bean> 课堂上 @Repository public class DBUtil{ private static final long serial
<bean id="jdbcTemp" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="portalDataSource" />
</bean>
课堂上
@Repository
public class DBUtil{
private static final long serialVersionUID = -6203751104015962909L;
@Autowired
JdbcTemplate jdbcTemp;
private static Logger log = Logger.getLogger("scmLogger");
@Transactional(readOnly=true)
public List<Map<String, Object>> getData(String qry, Object[] pAttr){
log.debug("DBUtil.getData() qry "+qry);
List<Map<String, Object>> vList = new ArrayList<Map<String,Object>>();
vList = jdbcTemp.queryForList(qry, pAttr);
return vList;
}
@存储库
公共类DBUtil{
私有静态最终长serialVersionUID=-62037511104015962909L;
@自动连线
JdbcTemplate jdbcTemp;
私有静态记录器log=Logger.getLogger(“scmLogger”);
@事务(只读=真)
公共列表getData(字符串qry,对象[]pAttr){
log.debug(“DBUtil.getData()qry”+qry);
List vList=new ArrayList();
vList=jdbtemp.queryForList(qry,pAttr);
返回列表;
}
我想知道这个“jdbcTemplate”是否是一个单实例,即我的应用程序中的一个实例。这是最好的使用方法还是其他更好的方法。请建议
当做
Adeeb虽然我不是Spring专业人士,但这个jdbcTemplate是一个单例。Spring管理的每个bean都是单例的,除非另有规定。这种用法没有任何错误。在Spring中定义bean时,默认情况下它有一个单例作用域 在您的情况下,您没有定义不同的作用域,因此它是单例的
是默认情况下,spring中的所有bean都是
单例的
,以确保您可以在bean标记中指定它
<bean id="jdbcTemp" class="org.springframework.jdbc.core.JdbcTemplate" scope="singleton">
<property name="dataSource" ref="portalDataSource" />
</bean>
在您的类中,您正在自动连接它,这是最好的方法。请确保xml中的id
和实例变量名称相同,代码中的jdbtemp