Spring练习,定义三个模块,使用<import>标签完成分模块配置开发,模拟实现学生借书和还书的过程,将结束输出到控制台。

简介: Spring练习,定义三个模块,使用<import>标签完成分模块配置开发,模拟实现学生借书和还书的过程,将结束输出到控制台。

实现要求:


在图书管理系统中,学生管理模块、书籍管理模块和借还书管理模块等其他模块,相互配合协作,促使系统的运行流畅。定义三个模块,使用<import>标签完成分模块配置开发,模拟实现学生借书和还书的过程,将结束输出到控制台。


要求如下:

  • 定义学生管理模块、书籍管理模块和借还书管理模块。
  • 使用<import>标签完成分模块配置开发


27.png


实现步骤:


在com.zn.demo.student包下创建Student类,添加stuId属性和stuName属性


package com.zn.mhys.demo.student;
public class Student {
  private String stuId;
  private String stuName;
  public String getStuId() {
    return stuId;
  }
  public void setStuId(String stuId) {
    this.stuId = stuId;
  }
  public String getStuName() {
    return stuName;
  }
  public void setStuName(String stuName) {
    this.stuName = stuName;
  }
}


在com.zn.demo.student包下创建applicationContext-student.xml配置文件,注册Student类到容器


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.springframework.org/schema/beans"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
  <bean id="student" class="com.zn.mhys.demo.student.Student"></bean>
</beans>


在com.zn.demo.book包下创建Book类,添加bookId属性和bookName属性


package com.zn.mhys.demo.book;
public class Book {
  private String bookId;
  private String bookName;
  public String getBookId() {
    return bookId;
  }
  public void setBookId(String bookId) {
    this.bookId = bookId;
  }
  public String getBookName() {
    return bookName;
  }
  public void setBookName(String bookName) {
    this.bookName = bookName;
  }
}


在com.zn.demo.book包下创建applicationContext-book.xml配置文件,注册Book类到容器。


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.springframework.org/schema/beans"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
  <bean id="book" class="com.zn.mhys.demo.book.Book"></bean>
</beans>


在com.zn.demo.service包下创建BorrowAndReturnService类,声明borrowBook()方法和returnBook()方法


package com.zn.mhys.demo.service;
import com.zn.mhys.demo.book.Book;
import com.zn.mhys.demo.student.Student;
public class BorrowAndReturnService {
  public void borrowBook(Student student,Book book){
    System.out.println("学生编号:"+student.getStuId()+",学生姓名:"+student.getStuName()
    +",借阅书名:"+book.getBookName()+",编号:"+book.getBookId()+"的书名");
  }
  public void returnBook(Student student,Book book){
    System.out.println("学生编号:"+student.getStuId()+",学生姓名:"+student.getStuName()
    +",归还书名:"+book.getBookName()+",编号:"+book.getBookId()+"的书名");
  }
}



在com.zn.demo.service包下创建applicationContext-service.xml配置文件,注册BorrowAndReturnService类到容器


<?xml version="1.0" encoding="UTF-8"?>
<beans  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.2.xsd ">
  <!-- 2.1.4 -->
  <import resource="com/zn/mhys/demo/book/applicationContext-book.xml"/>
  <import resource="com/zn/mhys/demo/student/applicationContext-student.xml"/>
  <import resource="com/zn/mhys/demo/service/applicationContext-service.xml"/>
</beans>


在src目录下创建applicationContext.xml配置文件,引入3个模块的配置文件 在com.zn.demo.test包下创建Test测试类


package com.zn.mhys.demo.test;
import java.sql.Connection;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import com.zn.mhys.demo.book.Book;
import com.zn.mhys.demo.service.BorrowAndReturnService;
import com.zn.mhys.demo.service.JdbcService;
import com.zn.mhys.demo.student.Student;
public class Test {
  public static void main(String[] args) {
    ClassPathResource resource = new ClassPathResource("applicationContext.xml");
    XmlBeanFactory context = new XmlBeanFactory(resource);
//    2.1.4
    Student student = (Student)context.getBean("student");
    student.setStuId("003");
    student.setStuName("杨明金");
    Book book = (Book)context.getBean("book");
    book.setBookId("130006");
    book.setBookName("spring企业级开发");
    BorrowAndReturnService bars = (BorrowAndReturnService) context.getBean("service");
    bars.borrowBook(student, book);
    bars.returnBook(student, book);
  }
}



相关文章
|
2月前
|
Java 关系型数据库 MySQL
Spring Boot自动配置:魔法背后的秘密
Spring Boot 自动配置揭秘:只需简单配置即可启动项目,背后依赖“约定大于配置”与条件化装配。核心在于 `@EnableAutoConfiguration` 注解与 `@Conditional` 系列条件判断,通过 `spring.factories` 或 `AutoConfiguration.imports` 加载配置类,实现按需自动装配 Bean。
|
27天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
2349 41
|
2月前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
|
30天前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
30天前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
488 5
java实战项目超市管理系统控制台版
java实战项目超市管理系统控制台版
207 0
|
Java
【Java开发指南 | 第二十篇】Java流之控制台
【Java开发指南 | 第二十篇】Java流之控制台
200 2
|
XML 监控 Dubbo
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
|
存储 Java 关系型数据库
景区特色商品管理系统【控制台+MySQL】(Java课设)
景区特色商品管理系统【控制台+MySQL】(Java课设)
252 1