我想用JdbcTemplate。
网上查了很久都是写一个xml文件里写一个数据源配置和导入,
然后测试时写一个main方法加载。类似:
ApplicationContext context =
new FileSystemXmlApplicationContext("beans.xml");
请问不能自动加载吗?
我写的setDataSouse(DataSourse dataSource)就是注入不进来。配置文件:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<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="123456"/>
</bean>
<bean id="conn" class="db.conn">
<property name="dataSource" ref="dataSource"/>
</bean>db.conn.java文件 public void setDataSource(DataSource dataSource) {
this.jdbcTemplate=new JdbcTemplate(dataSource);
}我new一个conn后。jdbcTemplate还是空。没取到
问题是:怎么才能注入进来。。配置文件怎么自动加载。我写在applicationContext.xml里也不行
网上查了很久都是写一个xml文件里写一个数据源配置和导入,
然后测试时写一个main方法加载。类似:
ApplicationContext context =
new FileSystemXmlApplicationContext("beans.xml");
请问不能自动加载吗?
我写的setDataSouse(DataSourse dataSource)就是注入不进来。配置文件:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<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="123456"/>
</bean>
<bean id="conn" class="db.conn">
<property name="dataSource" ref="dataSource"/>
</bean>db.conn.java文件 public void setDataSource(DataSource dataSource) {
this.jdbcTemplate=new JdbcTemplate(dataSource);
}我new一个conn后。jdbcTemplate还是空。没取到
问题是:怎么才能注入进来。。配置文件怎么自动加载。我写在applicationContext.xml里也不行
解决方案 »
- Visual Editor插件安装
- 初学者问:想学Java机器的最低配置是多少?Java编译器哪里可以下到?谢谢
- 关于变量定义类型的问题
- 关于字符串操作中intern()方法的调用问题
- 为什么我的appletviewer不能用?
- 请教一个方法!
- 菜鸟问题之————我不能导入类!why?
- 请问我用jbuilder5作的应用程序如何发布啊?(就象VB的打包哪种)
- 谢谢各位热情的朋友们,我还有个问题想问各位大吓!
- 关于mina下实现UDP穿洞的问题。
- 求解hibernate一个问题,比较头痛
- Oracle数据库,JDBC访问,字段类型是DATE,PreparedStatement里用setTimestamp还是setDate?
ApplicationContext context =
new ClassPathXmlApplicationContext("beans.xml");
//使用context获取bean对象
conn c = context.getBean("conn");
<context-param>
<param-name>contextConfigLocation </param-name>
<param-value>/WEB-INF/beans*.xml </param-value>
</context-param>
<listener>
<listener-class> </listener-class>
</listener>
指定所有以beans开始的.xml类型文件为spring的配置文件。
我就是把web.xml中的配置改为WEB-INF/model-config.xml也不能自动注入进来 (model-config.xml文件是数据库链接的)
web.xml:<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/model-config.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value> /WEB-INF/dispatcher-servlet.xml,/WEB-INF/model-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
</web-app>
----------------------------------------
model-config.xml这么写的
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<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="lenven4sa"/>
</bean>
<bean id="conn" class="db.conn">
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>
-----------------------------------
然后我在db.conn.java文件里这么写
public class conn { private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate=new JdbcTemplate(dataSource);
}
-----------------
结果jdbcTemplate就是空...不能进行数据库操作。。conn还有些调用的方法省略了。
我如果在conn的构造函数上直接初始化jdbcTemplate,没有问题。
<context-param>
<param-name>contextConfigLocation </param-name>
<param-value>WEB-INF/model-config.xml </param-value>
</context-param>
这行差了一个"/".应该是/WEB-INF/model-config.xml。我加上去后依然不行...
conn con=new conn();就初始化jdbcTemplate了?
<context-param>
<param-name>contextConfigLocation </param-name>
<param-value>/WEB-INF/beans*.xml </param-value>
</context-param>
<listener>
<listener-class> </listener-class>
</listener>
指定所有以beans开始的.xml类型文件为spring的配置文件。
首先在配置文件里面先配置JdbcTemplate,然后在注入给你的类,
如果你不在配置文件里面先配置JdbcTemplate,就让你的类继承JdbcDaoSupport!!