通过Spring IOC简单的基本使用来搭建Spring框架
一、通过手动导入jar包的方式来实现
1、使用spring IOC导入以下五个jar包
commons-logging-1.2.jar
spring-beans-5.2.3.RELEASE.jar
spring-context-5.2.3.RELEASE.jar
spring-core-5.2.3.RELEASE.jar
spring-expression-5.2.3.RELEASE.jar
注意:
1、commons-logging-1.2.jar只是一个高层的日志框架,其它几个jar包依赖到,所以也是需要我们导入进来的,可以去http://commons.apache.org/proper/commons-logging/download_logging.cgiApache官网下载即可。
2、下面spring库的几个jar包需要去spring官网下载对应版本的jar包导入就行了,我这里用的是5.2.3版本,点击下载
导完包如下:
2、创建一个User类
package com.bobo.bean;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
3、创建一个my_ioc的spring config文件,注意:这里把配置文件放在src目录下面
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.bobo.bean.User">
<property name="id" value="0"></property>
<property name="username" value="bobo"></property>
<property name="password" value="123"></property>
</bean>
</beans>
4、写测试类
package com.bobo.bean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyIOCTest {
public static void main(String[] args) {
ApplicationContext user = new ClassPathXmlApplicationContext("my_ioc.xml");
System.out.println(user.getBean("user"));
}
}
运行输出:
上述是一个简单的IOC使用,我们发现上述手动导入jar包的方式比较麻烦,而且不好管理jar包,下面我们一起来了解一下使用Maven来管理这些jar包。
二、Maven的介绍与使用
1、maven的简单介绍
Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。
maven的优点
1、 jar包管理:
a) 从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;
b) 本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。
2、 maven是跨平台的可以在window、linux上使用。
3、 清晰的项目结构;
4、 多工程开发,将模块拆分成若干工程,利于团队协作开发。
5、 一键构建项目:使用命令可以对项目进行一键构建。
2、maven的安装
maven官网:https://maven.apache.org/
maven仓库:https://mvnrepository.com/
安装步骤:
1、安装jdk
2、从官网中下载对应的版本
3、解压安装,然后配置环境变量,需要配置MAVEN_HOME,并且将bin目录添加到path路径下
4、在命令行中输入mvn -v,看到版本信息表示安装成功
3、maven的基本常识
maven如何获取jar包
maven通过坐标的方式来获取 jar包,坐标组成为:公司/组织(groupId)+项目名(artifactId)+版本(version)组成,可以从互联网,本地等多种仓库源获取jar包
maven仓库的分类
本地仓库:本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings.xml配置文件。
私有仓库:私有仓库可以理解为自己公司的仓库,也叫Nexus私服
中央仓库:中央仓库即maven默认下载的仓库地址,是maven维护的
maven的常用仓库
由于网络访问的原因,在国内如果需要下载国外jar包的时候会受限,因此一般在使用过程中需要修改maven的配置文件,将下载jar包的仓库地址修改为国内的源,常用的是阿里云的mvn仓库,修改配置如下:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4、maven常用命令
- clean:清理编译后的目录
- compile:编译,只编译main目录,不编译test中的代码
- test-compile:编译test目录下的代码
- test:运行test中的代码
- package:打包,将项目打包成jar包或者war包
- install:发布项目到本地仓库,用在打jar包上,打成的jar包可以被其他项目使用
- deploy:打包后将其安装到pom文件中配置的远程仓库
- site:生成站点目录
三、使用Maven来创建项目
1、创建一个Maven项目
2、定义项目的groupId、artifactId
groupId是项目组织唯一的标识符,实际对应java包的结构,是main目录里java的目录结构。比如:com.bobo。
artifactId就是项目唯一的标识符,实际项目的名称。比如:MyMavenProject。
3、添加Spring包的依赖
去Maven仓库https://mvnrepository.com/搜索需要依赖的项目库,比如我们这里搜索Spring,如下图:
然后点击相应的库,选择需要的版本
把上图dependency依赖拷贝到自己项目中Maven配置xml文件里面就会自动下载我们需要的jar包了。
4、使用
依然先创建User.java
package com.bobo.bean;
public class User {
private int id;
private String userName;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", password='" + password + '\'' +
'}';
}
}
在resources目录下创建spring config的xml文件:
创建测试类:
package com.bobo.bean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("maven_ioc.xml");
System.out.println(context.getBean("user"));
}
}
运行输出:
四、总结
以上两种方式创建spring的项目都是可以的,但是在现在的企业开发环境中使用更多的还是maven这样的方式,无须自己处理jar之间的依赖关系,也无须提前下载jar包,只需要配置相关的pom即可,因此推荐大家使用maven的方式。
搭建spring项目需要注意的点:
- 一定要将配置文件添加到类路径中,使用idea创建项目的时候要放在resource目录下。
- ApplicationContext就是IOC容器的接口,可以通过此对象获取容器中创建的对象。
- 对象在Spring容器创建完成的时候就已经创建完成,不是需要用的时候才创建。
- 对象在IOC容器中存储的时候都是单例的,如果需要多例需要修改属性。
- 创建对象给属性赋值的时候是通过setter方法实现的。
- 对象的属性是由setter/getter方法决定的,而不是定义的成员属性。