【补充】spring的el表达式、组件扫描的步骤、组件装配相关标注、Spring D等

本文介绍了Spring中的依赖注入(DI)实现方式,并展示了如何在配置文件中进行对象注入。接着讲解了EL表达式,Properties对象的配置,以及组件扫描的概念和实现步骤,包括@Component、@Repository、@Service、@Controller等标注的使用。此外,还讨论了@Autowired和@Resource标注在组件装配中的作用,以及JdbcTemplate在Spring DAO层的工作原理和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

原版笔记

  1. 什么是DI
  2. Spring 实现DI 的三种方式 并写出配置文件中的关键代码
  3. 写出下面的对象 在Spring 的配置文件中对应的注入代码
    public class MyMsg{
    private String title;
    private int count;
    private List friends;
    private Properties phones;
    }
    给title 注入 好好学习 count 注入 12345 friends 中注入 小明 小新 小泽
    phones 中注入 xiaoming 13999876543 xiaoxin 13777658899

  1. 装配一个对象 dataSource 对象

  2. Spring 中 EL 表达式
    只要把之前EL表达式中的 $ 换成 #
    Properties 对象的单独定义 以及 使用 location引用 properties文件

  3. 组件扫描技术
    3.1 简介
    基于注解(标注) 一个技术 这个技术的出现可极大的简化xml配置文件编写
    3.2 四个组件扫描的标注
    @Component 通用组件标记
    @Repository 持久化层组件
    @Service 业务逻辑层组件
    @Controller 控制层组件
    3.3 组件扫描的实现步骤
    1.建立项目 拷贝 ioc 和 aop jar 包到 lib 下
    2.拷贝配置文件 到 src 下 并在配置文件中开启组件扫描
    <context:component-scan base-package=“包名结构” />
    3.在相应类上 打对应的标注
    4.从Spring 容器获取对应的组件
    默认以类名首字母小写为标准获取组件
    当然也可以指定组件放入容器中的标识
    3.4 写一个BankAccountDAO 接口 里面定义一个根据卡号
    获取账户信息的方法 。然后写一个实现类 对这个方法做一个伪实现
    最后把实现类对象 以标注的形式 加载到Spring 容器中。最后通过Spring
    容器获取实现类对象 并调用根据卡号获取对象的方法 。
    @Service
    public class BankAccountService{

    }
    @Service(value=“bankService”)
    public class BankAccountService{

    }
    @Service(“bankService”)
    public class BankAccountService{

    }
    3.5 和组件装配有关的标注
    @Autowired 可以加在字段 或者 setter 方法 或者 构造函数上
    首先根据类型加载对应的组件 类型找不到则根据名字查找
    这个标注也可以指定名字 进行查找 如果对应的名字找不到 则直接停止
    但是得通过 @Qualifier(value=“bankAccountDao”)
    @Autowired(required=true) 这是默认 则必须找到对应的组件
    没有程序直接崩溃 也可以指定成false 找不多对应的组件 忽略

    @Resource 可以加在字段 或者 setter 方法 但这通常就够用了
    这个标注 它不是Spring框架的 它java中的标准标注 但可以和Spring
    无缝结合。
    优先按照名字 查找 如果找不到 则按照类型查找。
    当然也可以直接指定名字进行查找。注意指定名字必须使用 name 如
    @Resource(name=“bankAccountDao”)
    3.6 其它标注
    @PostConstruct 初始化方法的标注
    @PreDestroy 对象销毁之前调用的方法
    @Value 可以使用Spring EL表达式注入值

  4. Spring DAO
    4.1 Spring DAO 所做的工作
    对Jdbc 的操作进行封装,简化了jdbc的操作
    对jdbc的事务 进行AOP 模式的封装 简化了事务的管理和操作
    对数据库访问中的异常 由原来的检查异常 封装成了 继承 RunTimeException
    的非检查异常 DataAccessException。
    4.2 JdbcTemplate
    这个类负责 加载驱动 获取连接 获取执行环境 和 释放资源
    我们只需要关心 sql的编写 和 数据的处理
    4.3 如何获取JdbcTemplate
    最直接的是 继承 JdbcDaoSupport这个类
    如果不继承JdbcDaoSupport 则需要自己注入模板
    4.4 使用 继承的方式 来完成 ------ 查询产品表中的数据量
    1.需要准备一张表 表中放入数据 (13 ---- xdl_product)
    2.写一个产品的接口 接口中定义一个查询产品数据的方法
    3.先导入ioc AOP dao 对应的jar包写一个接口的实现类
    继承 JdbcDaoSupport 并实现接口 这里需要注入一个 dataSource
    4.使用模板 和 模板对应的方法 完成数据量的查询
    5.测试dao实现类 看是否能获取到产品数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值