Spring 核心功能之一【IoC容器】依赖注入接口,层级包命名规范

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Spring 核心功能之一【IoC容器】依赖注入接口,层级包命名规范

1.图集导航


7c43d6d6aee44f38873ac16b2b76514f.png


1.1 为什么对包名的命名要有所规范呢!


  • 使用规范的命名有益于程序的开发和后期阅读
  • 通俗的说:就是自己写的代码别人也能看的懂,代码结构不会乱,知道自己写什么


2. 代码数据关联【可参考】


2.1 FilmDao接口

public interface FilmDao {
    void selectAll();
}

FilmDaoImpl 接口实现类

@Repository("filmDao")
public class FilmDaoImpl implements FilmDao {
    @Override
    public void selectAll() {
         System.out.println("dao-film");
    }
}

2.2 daomain 【Film类】

----现阶段还没有Spring整合MyBatis,该类现在用不到

//JavaBean
public class Film {
    private String fname ;
    private Double fprice ;
 //注:构造和set/get方法省略
}

2.3 FilmService 接口

1. public interface FilmService {
2.    void selectAll();
3. }


FilmServiceImpl 接口实现类

@Service("filmService")
public class FilmServiceImpl implements FilmService {
    //依赖注入
    @Resource(name="filmDao")
    private FilmDao film;
    @Override
    public void selectAll() {
        film.selectAll();
        System.out.println("service-film");
    }
}

2.4 FilmController 接口

1. public interface FilmController {
2.    void selectAll();
3. }


FilmControllerImpl 接口实现类


@Controller("filmController")
public class FilmControllerImpl implements FilmController {
    //依赖注入
    @Resource(name="filmService")
    private FilmService filmService;
    @Override
    public void selectAll() {
        filmService.selectAll();
        System.out.println("controller-film");
    }
}

2.5 FilmConfiguration 配置类

1. @Configuration  //声明配置类
2. @ComponentScan(basePackages = "com.czxy")  //加载所需要的包
3. public class FilmConfiguration {
4. }


2.6 TestFilm 测试类

@RunWith(SpringRunner.class) //Spring整合Junit
@ContextConfiguration(classes = FilmConfiguration.class)  //加载配置类
public class TestFilm {
    //依赖注入
    @Resource(name="filmController")
    private FilmController filmServlet;
    @Test
    public void test(){
        filmServlet.selectAll();
    }
}


测试结果


46ec9ccb30174baaaa11552f76d1dc00.png


3.图集总结


268019f6c78b41dd8d546aa97b412f92.png



相关文章
|
1天前
|
XML Java 数据格式
手写spring第八章-定义标记类型Aware接口,实现感知容器对象
手写spring第八章-定义标记类型Aware接口,实现感知容器对象
4 0
|
1天前
|
设计模式 存储 Java
手写spring第二章-运用设计模式编写可扩展的容器
手写spring第二章-运用设计模式编写可扩展的容器
7 0
|
3天前
|
XML Java 数据格式
【spring】01 Spring容器研究
【spring】01 Spring容器研究
7 0
|
24天前
|
XML Java 数据格式
Spring(一)IOC小案例
Spring(一)IOC小案例
|
1月前
|
Java 容器 Spring
【spring(一)】核心容器总结
【spring(一)】核心容器总结
|
1月前
|
Java Shell API
通用Shell脚本执行Spring Boot项目Jar包
通用Shell脚本执行Spring Boot项目Jar包
|
1月前
|
Java 开发者 容器
【Java】深入了解Spring容器的两个关键组件
【Java】深入了解Spring容器的两个关键组件
10 0
|
1月前
|
XML Java 数据格式
Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界 (下)
Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界
|
设计模式 开发框架 安全
Spring 功能介绍|学习笔记
快速学习 Spring 功能介绍
|
30天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
43 0