大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Spring 对象的获取,以及数据库连接应用,希望您对编程的造诣更进一步.
1.Spring IOC反射机制,需要调用无参构造器
springioc编写规则:接收方注入,需要定义set方法或带参的构造器
//利用反射创建对象(无参构造器),利用反射机制注入参数
<bean id=”calss=””>
<property name=”” value|ref=””></property>
</bean>
使用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>
代码100分
//原理利用反射机制创建对象,调用带参构造器
<bean id=”calss=””>
<constructor-arg index=”” value|ref=””/>
</bean>
Spring对Jdbc进行了封装,JdbcTemplate依赖于DataSource
代码100分<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <constructor-arg index="0" ref="dbcp"></constructor-arg> </bean>
一般使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
new BeanPropertyRowMapper<类型>(类型.class)
2.Spring 注解标记的使用,用注解标记获取数据
a.创建实体类
public class FanNews implements Serializable { public int id; public String fan_item; public String fan_name;
b.创建接口
代码100分public interface FanNewsDao { public List<FanNews> loadAll(); }
c.创建接口实现类并进行注解标志的添加 一般注解标记默认id是首字母小写,注解标记可以省略set方法
@Repository("fanNewsDao") public class JdbcTemplateFanNews implements FanNewsDao { @Autowired private JdbcTemplate jdbcTemplate; public List<FanNews> loadAll() { String sql="select *from fan_news"; List<FanNews> list=jdbcTemplate.query(sql,new BeanPropertyRowMapper<FanNews>(FanNews.class)); for(FanNews news:list) { System.out.println(news.getFan_name()+news.getFan_item()); } return list; } }
d.在xml开启组件扫描
<!-- 开启组件扫描可以识别以下标记 @Contorller @Service @Repository @[email protected] @Autowired-->
<!-- 开启组件扫描 @Contorller @Service @Repository @[email protected] @Autowired--> <context:component-scan base-package="com.tracy.dao.impl" />
e.在test类中进行测试 一般获取接口对象,灵活性比较高 获取的对象为接口对象,不是实现类。
@Test public void TestNewDao() { String config="com/tracy/xml/applicationContext.xml"; ApplicationContext acc=new ClassPathXmlApplicationContext(config); FanNewsDao fnd=acc.getBean("fanNewsDao",JdbcTemplateFanNews.class); List<FanNews> list=fnd.loadAll(); System.out.println(list); for(FanNews news:list) { System.out.println("注解标记读取接口"+news.getFan_name()+news.getFan_item()); } }
f.读取的结果
Spring 对象的获取,以及数据库连接应用
原文:https://www.cnblogs.com/tracyDemo/p/13138781.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7719.html