1.spring ioc反射机制,需要调用无参构造器 springioc编写规则:接收方注入,需要定义set方法或带参的构造器 //利用反射创建对象(无参构造器),利用反射机制注入参数 Spring对Jdbc进行了封装,JdbcT
springioc编写规则:接收方注入,需要定义set方法或带参的构造器
//利用反射创建对象(无参构造器),利用反射机制注入参数
使用BasicDataSource进行数据库连接,数据库连接连接池,不用考虑创建,与释放连接。实现了DataSource接口
<bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource">
<property name="username" value="root">property>
<property name="passWord" value="123456">property>
<property name="driverClassName" value="com.Mysql.jdbc.Driver">property>
<property name="url" value="jdbc:mysql://localhost:3306/tracy">property>
bean>
//原理利用反射机制创建对象,调用带参构造器
Spring对Jdbc进行了封装,JdbcTemplate依赖于DataSource
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg index="0" ref="dbcp">constructor-arg>
bean>
一般使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
new BeanPropertyRowMapper<类型>(类型.class)
public class FanNews implements Serializable {
public int id;
public String fan_item;
public String fan_name;
public interface FanNewsDao {
public List loadAll();
}
@Repository("fanNewsDao")
public class JdbcTemplateFanNews implements FanNewsDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public List loadAll() {
String sql="select *from fan_news";
List list=jdbcTemplate.query(sql,new BeanPropertyRowMapper(FanNews.class));
for(FanNews news:list) {
System.out.println(news.getFan_name()+news.getFan_item());
}
return list;
}
}
<context:component-scan base-package="com.tracy.dao.impl" />
@Test
public void TestNewDao() {
String config="com/tracy/xml/applicationContext.xml";
ApplicationContext acc=new ClassPathXmlApplicationContext(config);
FanNewsDao fnd=acc.getBean("fanNewsDao",JdbcTemplateFanNews.class);
List list=fnd.loadAll();
System.out.println(list);
for(FanNews news:list) {
System.out.println("注解标记读取接口"+news.getFan_name()+news.getFan_item());
}
}
Spring 对象的获取,以及数据库连接应用
--结束END--
本文标题: Spring 对象的获取,以及数据库连接应用
本文链接: https://lsjlt.com/news/6836.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0