Swing与Spring整合,以及源代码完整的demo参考

今天开始完成一个商品管理系统,每周的时间是越来越紧了,如果各位网友有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整合 Swing与spring整合[/caption]


对了,如果使用这样的方法类初始化一个参数似乎是不行的,后续我再继续测试下,看看有没有更好的方法


//以下代码目前是不正确的
@Resource("listeners")
private IActionListeners ial;



本文之内容主要是说swing如何使用spring容器中的bean,其他问题不在本文描述之内




爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img