今天开始完成一个商品管理系统,每周的时间是越来越紧了,如果各位网友有bug或问题提交可以前往以下地址提交
提交问题 https://www.bugkong.com/dwqa-ask-question
或者后续我开通论坛功能也可以
今天开始的这个商品管理系统,就想尝试用java的Swing与spring结合试一下,经过一天的努力,也差不多算是完成了
下面我们说说步骤吧:
第一:创建一个maven项目,其中pom.xml代码如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.0818wyyls</groupId> <artifactId>shopmanager</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>shopmanager</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <springmvc.version>4.1.6.RELEASE</springmvc.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- SpringMVC4.1.6 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${springmvc.version}</version> <exclusions> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${springmvc.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${springmvc.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc-portlet</artifactId> <version>${springmvc.version}</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> </dependencies> </project>其中的commons-loggings包也是必须要配置的哦
第二:创建配置文件applicationContext.xml,代码如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <!-- 自动扫描 --> <context:component-scan base-package="com.wyyls.shopmanager.JFarme.Impl" /> <!-- 声明使用注解的风格 --> <context:annotation-config /> </beans>以上代码,说明了我们需要扫描的包,以及开启注解功能
第三:创建一个工具类,获得一个Object对象
这一步主要是初始化applicationContext.xml这个文件
我们在web项目中,这个xml文件是由容器来处理的,然后我们这里的java图形界面是没有容器的,他的启动入口就是main函数
所以我们需要在main函数中进行初始化,也可以在工具类中进行初始化
请看以下我写的工具类
public class applicationbean { private static ClassPathXmlApplicationContext context; private static String path = "applicationContext.xml"; static{ context = new ClassPathXmlApplicationContext(path); } public static Object getObject(String beanName){ return context.getBean(beanName); } }该工具类在启动时会自动运行静态代码快,然后在程序中就可以使用getObject来获得一个对象了
第四:书写一个由spring管理的类,请看以下代码头部实现
package com.wyyls.shopmanager.JFarme.Impl; @Component("listeners") public class ActionListeners implements IActionListeners{ //省略了方法 }看到了吗,我们使用注解Component
然后我们再看看这个类所在的位置 package com.wyyls.shopmanager.JFarme.Impl;
这个位置是我们上面applicationContext.xml这个配置文件中配置的扫面包
那么就很好理解了,当程序启动的时候就会运行工具类中的静态代码快,静态代码快里就会初始化配置文件信息,配置文件里配置了使用注解,以及扫描那些包。
第五:使用方法,请看如下代码
只需要一行代码即可完成
IActionListeners ial = (IActionListeners)applicationbean.getObject("listeners");
第六:完整的入口程序代码就变成了这样
其他的代码已被封装
public class App { public static void main(String[] args) { //获得我们需要的对象 IActionListeners ial = (IActionListeners) applicationbean.getObject("listeners"); //加载布局 new Login(); //加载监听 ial.listener_login(common.center_button_login); ial.listener_login(common.center_button_reult); } }
运行结果如下:
[caption id="attachment_1381" align="alignnone" width="396"] Swing与spring整合[/caption]
对了,如果使用这样的方法类初始化一个参数似乎是不行的,后续我再继续测试下,看看有没有更好的方法
//以下代码目前是不正确的 @Resource("listeners") private IActionListeners ial;
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情