基于spring-mybatis的swing界面程序开发

框架设计

  • swing
  • spring
  • mybatis

开发工具

  • eclipse
  • maven
  • windowsbuilder插件(用来可视化开发界面程序)
  • jdk8
  • mysql5.6

开发步骤

  1. 创建空maven工程,导入maven依赖
   <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.version>4.0.2.RELEASE</spring.version>
        <jackson.version>2.8.1</jackson.version>
    </properties>
    <dependencies>
        <!-- spring核心包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- 添加MyBatis依赖 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <!-- 阿里巴巴的数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.16</version>
        </dependency>
        <!-- spring结成mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>1.6.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${jackson.version}</version>
        </dependency>
                  <!--报表依赖-->
            <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.8</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

2.可以选择从后向前开发

先开发dao层,可以使用逆向工程生成数据库的实体类及mapper文件
根据业务需求开发service接口层,注意@service注解加载接口实现类上
开发controller层,使用@controller接口

3.开发用户界面

组件绑定事件
Form设计器中选择要添加绑定事件的组件,右键选择add event handle 后选择相应的事件
组件输入数据获取
通过组件的getText()获取
后台数据获取
可以使用SpringBeanFactory.getInstance().getBean(“areaController”)方式获取接口,给 JComboBox提供Item.实现名称和id的对应.

 private void getComboBoxArea(){
        AreaController areaController = (AreaController) SpringBeanFactory.getInstance().getBean("areaController");
        List<Area> areas = areaController.listAllAreas();//查询地址对象
        this.areaKeys = new String[areas.size()];//地址名数组
        this.areaIds = new int[areas.size()];//地址id数组
        for (int i = 0; i < areaIds.length; i++) {
            areaKeys[i]= areas.get(i).getName();
            areaIds[i]= areas.get(i).getId();
        }
        System.out.println(JSONUtils.toJSONString(Arrays.toString(areaKeys)));
    }

初始化界面时调用:

 getComboBoxArea();
 JComboBox<String> areaName = new JComboBox<String>();
 areaName.setBounds(174, 89, 120, 26);
 areaName.setModel(new javax.swing.DefaultComboBoxModel<String>(areaKeys));
 contentPane.add(areaName);
Java Swing 后台系统的源代码通常结合了 Java 程序设计和数据库技术,用于实现公司或组织的业务逻辑和数据管理。对于开发这种系统,需要掌握 Java 编程语言,以及 Swing 用户界面工具包、SpringMyBatis 等框架,以及 SQL 和数据库编程。以下是可能包含在 Java Swing 后台系统源代码中的一些主要功能和代码段: 1. 用户认证和授权功能 认证模块通常包括用户登录、注销、密码重置功能等。用户授权可以实现权限控制和角色分配,也可以设置一些安全性检查和限制,如防止 SQL 注入等。 示例代码: public class AuthenticationService { public boolean authenticate(String username, String password) { // implementation } public void authorize(User user) { // implementation } } 2. 数据库管理和持久化 数据管理模块可以通过各种 ORM 框架,如 MyBatis、Hibernate 等,将数据存储在数据库中。一些 CRUD(创建、读取、更新、删除)操作可以在此处实现。 示例代码: public interface UserDao { User findById(long id); List<User> findAll(); void save(User user); void delete(User user); } 3. 日志记录和错误处理 日志记录模块用于记录应用程序运行日志和错误,方便排除故障和优化性能。 示例代码: public class LogService { public void info(String message) { // implementation } public void warn(String message) { // implementation } public void error(String message, Throwable throwable) { // implementation } } 4. 邮件和通知功能 Java Mail API 可以用于开发邮件应用程序,Spring 或 Java Message Service(JMS)可以用于开发通知服务。 示例代码: public class EmailService { public void sendEmail(String recipient, String subject, String message) { // implementation } } 以上仅是 Java Swing 后台系统源代码可能包含的主要功能和代码段的示例。其他功能包括文件上传、定时任务、缓存、搜索引擎等都可以通过相应的框架或库来实现。开发 Java Swing 后台系统需要良好的代码设计和结构,依赖注入、面向对象编程等概念的使用也非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewTech精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值