繁体   English   中英

Spring JDBCTemplate最佳方法

[英]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时,默认情况下它具有单例作用域。

在您的情况下,您没有定义其他范围,因此它是单例的。

http://www.tutorialspoint.com/spring/spring_bean_scopes.htm

是,默认情况下,春季的所有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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM