基於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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章