如何自动获取spring bean对java字段的引用

时间:2013-06-15 19:54:13

标签: spring jdbctemplate

我的春天XML在下面,

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/test" />
    <property name="username" value="root" />
    <property name="password" value="root" />       
</bean>

<bean id="jTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <constructor-arg ref="dataSource" />
</bean>

我正在启动服务器时创建spring bean上下文。当我点击JSP页面的提交按钮时,它应该调用servlet并执行SQL查询。

无论如何我都可以将JdbcTemplate jTemplate = (JdbcTemplate)context.getBean("jTemplate")对象自动注入我的java属性吗?

我的java属性是这个,

jTemplate

所以,我只想使用private JdbcTemplate jTemplate; 而不只是jTemplate

对不起家伙我对春天有点新鲜,如果你不明白我说的话请再问我一次。

1 个答案:

答案 0 :(得分:0)

使用自动装配,可以采用三种方式

  1. 按名称

  2. 按类型

  3. 按构造函数

  4. 可以进一步阅读here

    就像一个解决方案

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" autowire="byName">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/test" />
        <property name="username" value="root" />
        <property name="password" value="root" />
    </bean>
    
    <bean name="jTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg ref="dataSource" />
    </bean>
    

    使用@Autowired注释自动获取此bean。

    @Autowired
    private JdbcTemplate jTemplate;