第2章 Ioc的概念和作用

2.1 IoC(Inverse of Control:反转控制)

把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语。它也包括依赖注入(DI)和依赖查找

2.2 程序的耦合:

耦合:程序间的依赖关系
包括:

  • 类之间的依赖
  • 方法间的依赖

解耦:降低程序间的依赖关系
实际开发中:应该做到编译期不依赖,运行时依赖
解耦的思路:
第一步:使用反射来创建对象,而避免使用new关键字
第二步:通过读取配置文件来获取要创建的对象全限定类名

数据库的连接:
cmd创建数据库
在这里插入图片描述
在这里插入图片描述

create table account(
	id int primary key auto_increment,
	name varchar(40),
	money float
)character set utf8 collate utf8_general_ci;

insert into account(name,money) values('aaa',1000);
insert into account(name,money) values('bbb',1000);
insert into account(name,money) values('ccc',1000);

pom.xml

<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    </dependencies>

JdbcDemo1.java

package com.itheima.jdbc;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
 
/**
 * 程序的耦合
 */
public class JdbcDemo1 {
    public static void main(String[] args) throws Exception{
        //1.注册驱动
        //通过SPI自动注册驱动程序,通常不需要手动加载驱动程序类。
        //DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
        //括号中为字符串,降低依赖
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/eesy?serverTimezone=GMT%2B8", "root","root");
        //3.获取操作数据库的预处理对象
        PreparedStatement pstm = conn.prepareStatement("select * from account");
        //4.执行SQL,得到结果集
        ResultSet rs = pstm.executeQuery();
        //5.遍历结果集
        while(rs.next()){
            System.out.println(rs.getString("name"));
        }
        //6.释放资源
        rs.close();
        pstm.close();
        conn.close();
    }
}

2.3 bean对象

Bean:在计算机英语中,有可重用组件的含义
JavaBean:用java语言编写的可重用组件

  • Javabean>实体类
  • 它就是创建我们的service和dao对象的

第一步,需要一个配置文件来配置我们的service和dao
配置的内容:唯一标识 = 全限定类名(key=value)
第二步, 通过读取配置文件中配置的内容,反射创建对象
我的配置文件可以是xml也可以是properties

通过创建properties创建工厂模式(code)

2.4 明确ioc的作用:

削减计算机程序的耦合

工厂模式的问题:
为提高代码运行效率,将多例模式改为单例模式(code)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值