Spring对象的获取,以及数据库连接应用[数据库教程]

database

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>

 

//原理利用反射机制创建对象,调用带参构造器

<bean id="calss="">

  <constructor-arg index=""  value|ref=""/>

</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)

2.Spring 注解标记的使用,用注解标记获取数据

 a.创建实体类

public class FanNews implements Serializable {

public int id;

public String fan_item;

public String fan_name;

  

b.创建接口

publicinterface FanNewsDao {

public List<FanNews> loadAll();

}

 

c.创建接口实现类并进行注解标志的添加 一般注解标记默认id是首字母小写,注解标记可以省略set方法

@Repository("fanNewsDao")

publicclass 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 

publicvoid 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

以上是 Spring对象的获取,以及数据库连接应用[数据库教程] 的全部内容, 来源链接: utcz.com/z/534308.html

回到顶部