[英]Spring jdbctemplate best way
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 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;
}
我想知道这个“ jdbcTemplate”是否是单例,即我的应用程序中的单个实例。 这是最好的使用方式还是其他更好的方式。 请提出建议。
阿代布
虽然我不是Spring专业人士,但可以,这个jdbcTemplate是单例的。 除非另有说明,否则Spring管理的每个bean都是单例的。 而且这种用法也没有错。
在Spring中定义bean时,默认情况下它具有单例作用域。
在您的情况下,您没有定义其他范围,因此它是单例的。
是,默认情况下,春季的所有bean都是singleton
,以确保您可以在bean标签中指定它
<bean id="jdbcTemp" class="org.springframework.jdbc.core.JdbcTemplate" scope="singleton">
<property name="dataSource" ref="portalDataSource" />
</bean>
在您的课堂上,您正在为其自动接线,这是实现接线的最佳方法。 确保您在xml中的id
和实例变量名称相同,在您的代码中正确的jdbcTemp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.