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

简介: 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



相关文章
|
9月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
9月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
775 2
|
XML 人工智能 Java
Spring IOC 到底是什么?
IOC(控制反转)是一种设计思想,主要用于解耦代码,简化依赖管理。其核心是将对象的创建和管理交给容器处理,而非由程序直接硬编码实现。通过IOC,开发者无需手动new对象,而是由框架负责实例化、装配和管理依赖对象。常见应用如Spring框架中的BeanFactory和ApplicationContext,它们实现了依赖注入和动态管理功能,提升了代码的灵活性与可维护性。
303 1
|
XML Java 数据格式
Spring IoC容器的设计与实现
Spring 是一个功能强大且模块化的 Java 开发框架,其核心架构围绕 IoC 容器、AOP、数据访问与集成、Web 层支持等展开。其中,`BeanFactory` 和 `ApplicationContext` 是 Spring 容器的核心组件,分别定位为基础容器和高级容器,前者提供轻量级的 Bean 管理,后者扩展了事件发布、国际化等功能。
392 18
|
XML Java 数据格式
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
|
安全 Java Spring
spring接口是否是线程安全
spring接口是否是线程安全
295 0
spring接口是否是线程安全
|
12月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
1424 0
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
1327 0
|
前端开发 Java 数据库
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——Thymeleaf 介绍
本课介绍Spring Boot集成Thymeleaf模板引擎。Thymeleaf是一款现代服务器端Java模板引擎,支持Web和独立环境,可实现自然模板开发,便于团队协作。与传统JSP不同,Thymeleaf模板可以直接在浏览器中打开,方便前端人员查看静态原型。通过在HTML标签中添加扩展属性(如`th:text`),Thymeleaf能够在服务运行时动态替换内容,展示数据库中的数据,同时兼容静态页面展示,为开发带来灵活性和便利性。
583 0
|
9月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
638 4