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



相关文章
|
6天前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
14天前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
154 2
|
5月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
212 32
|
XML Java 数据格式
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
|
5月前
|
安全 Java API
Spring Boot 功能模块全解析:构建现代Java应用的技术图谱
Spring Boot不是一个单一的工具,而是一个由众多功能模块组成的生态系统。这些模块可以根据应用需求灵活组合,构建从简单的REST API到复杂的微服务系统,再到现代的AI驱动应用。
|
4月前
|
监控 安全 Java
Java 开发中基于 Spring Boot 3.2 框架集成 MQTT 5.0 协议实现消息推送与订阅功能的技术方案解析
本文介绍基于Spring Boot 3.2集成MQTT 5.0的消息推送与订阅技术方案,涵盖核心技术栈选型(Spring Boot、Eclipse Paho、HiveMQ)、项目搭建与配置、消息发布与订阅服务实现,以及在智能家居控制系统中的应用实例。同时,详细探讨了安全增强(TLS/SSL)、性能优化(异步处理与背压控制)、测试监控及生产环境部署方案,为构建高可用、高性能的消息通信系统提供全面指导。附资源下载链接:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
686 0
|
2月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
553 108