持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第14天,点击查看活动详情
项目案例
案例:
使用三层架构完成用户数据的增加操作.由Spring容器负责对象的创建与依赖注入.
分析:
在分层开发中,Spring管理controller,service,dao各层的实现类对象的创建及依赖管理。
创建对象的思路分析:
项目结构:
com.bjpowernode.pojo 实体类Users
.mapper UsersMapper接口和UsersMapperImpl(实现类)
.service UsersServic接口和UsersServiceImpl
.controller UsersController(Servlet)--->创建一个普通类担当servlet的功能
代码实现:
基于注解的 DI(Dependency Injection)
依赖注入:DI(Dependency Injection),对于 DI 使用注解,将不再需要在 Spring 配置文件中声明bean 实例。Spring 中使用注解, 需要在原有 Spring 运行环境基础上再做一些改变。需要在 Spring 配置文件中配置组件扫描器,用于在指定的基本包中扫描注解。
指定多个包的三种方式:
1) 使用多个 context:component-scan 指定不同的包路径
2)指定base-package的值使用分隔符
分隔符可以使用逗号(,)或分号(;),还可以使用空格,不建议使用空格。
使用逗号分隔:
使用分号分隔:
3)base-package 是指定到父包名
base-package 的值表是基本包,容器启动会扫描包及其子包中的注解,当然也会扫描到子包下级的子包。所以 base-package 可以指定一个父包就可以。
或者最顶级的父包
但不建议使用顶级的父包,扫描的路径比较多,导致容器启动时间变慢。指定到目标包和合适的。也就是注解所在包全路径。例如注解的类在 com.bjpowernode.beans 包中。