Spring的核心功能
- IOC
- AOP
这里我们只简单使用Spring的IOC技术。
Spring 4.3.6的配置
在Spring官网(http://projects.spring.io/spring-framework/#quick-start)上我没找到Spring的下载地址。现在官方推荐用maven来配置Spring了。因为目前还没有在项目里面用过maven,就先用maven把Spring下载下来吧,以后再学习如何在项目中使用maven。
Maven的配置安装
先下载配置好maven。下载地址:http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
然后解压,配置好环境变量:MAVEN_HOME
,并在Path中添加%MAVEN_HOME%\bin
最后在命令行中使用 mvn --version
来检查是否安装好了maven。
使用maven下载Spring
在任意文件夹下面新建download.bat,代码如下:
call mvn -f pom.xml dependency:copy-dependencies
@pause
在上述文件夹下面建立pom.xml,内容如下:
<?xml version="1.0"?>
<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>temp.download</groupId>
<artifactId>temp-download</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- 需要下载什么jar包 添加相应依赖 其余部分无需在意-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
</dependencies>
</project>
运行download.bat,完成后即可在target文件夹下面找到Spring的jar包,添加到lib下即可。
简单的Spring示例
applicationContext.xml
applicationContext.xml是使用xml文件配置Spring框架的主要配置文件。里面通过指定标签即可使Spring框架实例化对象。
<context:component-scan base-package="com.mrbcy.bigdata.basic.spring.demo"/>
命令则是让Spring框架自动扫描指定包下的类并进行实例化。
示例代码
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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="one" class="com.mrbcy.bigdata.basic.spring.demo.One">
<constructor-arg name="one" value="one"/>
</bean>
<context:component-scan base-package="com.mrbcy.bigdata.basic.spring.demo"/>
<bean id="two" class="com.mrbcy.bigdata.basic.spring.demo.Two">
<constructor-arg name="two" value="two" />
</bean>
</beans>
One.java
package com.mrbcy.bigdata.basic.spring.demo;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
public class One implements ApplicationContextAware ,InitializingBean {
public One(String one) {
System.out.println(one);
}
@Override
public void setApplicationContext(ApplicationContext arg0)
throws BeansException {
System.out.println("setApplicationContext");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("afterPropertiesSet");
}
}
Two.java
package com.mrbcy.bigdata.basic.spring.demo;
public class Two {
public volatile String aString;
public Two(String two) {
System.out.println(two);
}
}
Three.java
package com.mrbcy.bigdata.basic.spring.demo;
import org.springframework.stereotype.Component;
@Component
public class Three {
public Three() {
System.out.println("three");
}
public Three(String three) {
System.out.println(three);
}
}