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

Spring 对象的获取,以及数据库连接应用1.Spring IOC反射机制,需要调用无参构造器 springioc编写规则:接收方注入,需要定义set方法或带参的构造器 //利用反射创建对象(无参构造器),利用反射机制注入参数

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

(0)
上一篇 2023-03-15
下一篇 2023-03-15

相关推荐

  • SparkShuffle机制[通俗易懂]

    SparkShuffle机制[通俗易懂]在早期版本的Spark中,shuffle过程没有磁盘读写操作,是纯内存操作,后来发现效率较低,且极易引发OOME,较新版本的Shuffle操作都加入了磁盘读写进行了改进。 1、未经优化的HashShu

    2023-01-29
    154
  • Redis系列(二)Redis的8种数据类型

    Redis系列(二)Redis的8种数据类型NoSQL 开发中或多或少都会用到,也是面试必问知识点。最近这几天的面试每一场都问到了。但是感觉回答的并不好,还有很多需要梳理的知识点。这里通过几篇 Redis 笔记整个梳理一遍,后面再加上面试题。

    2023-02-28
    158
  • Python Semaphore实现多线程同步

    Python Semaphore实现多线程同步Python是一门强大的编程语言,而且它支持多线程编程,这意味着可以利用计算机资源,提高代码的执行效率。在多线程编程中,如何解决线程安全问题是非常关键的。在本文中,我们将介绍Python Semaphore库如何实现多线程同步。

    2024-05-23
    67
  • ssl连接怎么设置_ssl_prefer_server_ciphers

    ssl连接怎么设置_ssl_prefer_server_ciphers第一步: ./configure –prefix=/opt/pg12 –with-openssl –enable-debug 解决configure: error: OpenSSL Crypt…

    2023-02-03
    151
  • Python wxPython 开发指南

    Python wxPython 开发指南
    wxPython 是一个开源、跨平台的 GUI 工具包,旨在提供一种 Python 编程语言和 wxWidgets C++类库相结合的开发体验。wxWidgets 是一个跨平台的 GUI 工具包,包含一组 C++类库和可执行文件,用于创建跨平台的 GUI 应用程序。

    2024-06-07
    47
  • MySQL5.6升级5.7步骤

    MySQL5.6升级5.7步骤升级步骤: 1、对mysql5.6进行全库备份( )用于失败倒回 2、关闭mysql5.6版本数据库 3、将mysql5.7软件部署 4、修改配置信息 5、修改启动脚本 6、启动mysql5.7数据库

    2023-02-24
    158
  • Python持续增长的原因和优势

    Python持续增长的原因和优势Python在科学计算领域中的应用越来越广泛。由于它的速度和灵活性,Python已经成为机器学习、数据分析和自然语言处理等领域的首选语言。另外,Python还有许多优秀的科学计算库,如NumPy、SciPy、Pandas等库,这些库的加入,让Python可以对大规模数据进行高效的处理。

    2024-03-17
    93
  • Python中断言的使用方法及优势

    Python中断言的使用方法及优势在程序设计中,断言是一种可以在代码中嵌入的一个可以被检查的布尔表达式,用来表示程序员预计到时应该为真的条件。如果断言计算结果为假,就意味着当前的代码中存在缺陷。

    2023-12-19
    105

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注