为什么选择 Hello World 作为入门项目应该不用多说了吧,在我看来像是一个仪式感,是我们踏入编程世界时对这个世界的问好。
第一步:
第二步:选择Maven项目
方便使用pom.xml文件进行导入各种需要的jar包
第三步:填写项目名称(HelloWorld)以及GroupId和ArtifactId
第四步:项目创建完毕
如果使用的是IDEA可以通过pom.xml文件进行Maven,若使用的是eclipse则需要自己下载,其他IDE请自行摸索。
还记得上一篇文章中提到的四个核心基础模块吗,不记得的话用这种图我们回忆一下
我们这次需要使用的是Beans、Context、Core以及expression这四个jar包
那么问题来了,我们该如何导入这些jar包呢
导入需要jar包方法
- 首先明确自己需要哪些jar包
- 访问Maven Repository这个网页 Maven Repository
- 搜索自己需要的jar包名称
- 复制粘贴到pom.xml 文件中
下面会给大家演示一下如何导入
如图所示
将所有需要的包的<dependency>
粘贴进去后点击右上角那个 M 按钮进行下载,然后等待下载完成 (pom.xml文件不报错即为下载成功)
我们这次的目的是让Spring帮我们创建一个对象并输出HelloWorld
这个字符串
package com.zy.entity; public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override public String toString() { return "Hello{" + "str='" + str + '\'' + '}'; } }
<?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="hello" class="com.zy.entity.Hello"> <property name="str" value="HelloWorld"></property> </bean> </beans>
这里就是控制反转的体现,我们将创建对象的功能交给Bean容器来管理,所以我们要配置一个<bean>
id为该类名,第一个字母要小写,class告知容器这个bean对应的是哪个类,而<property>
中可以配置类中成员如Hello类里面的str变量,用value给它赋值为“HelloWorld”
3. 创建一个主函数的类进行测试
import com.zy.entity.Hello; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class HelloWorldTest { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); //我们的对象都在Spring中进行管理了,我们一旦使用直接从中取出来就可以了 Hello hello= (Hello) context.getBean("hello"); System.out.println(hello.toString()); } }
运行结果:
可以看到,我们通过Spring容器帮我们创建了一个对象并输出了“HelloWorld”,这个时候应该有很多人觉得,这么写感觉比直接自己new一个对象还慢,看不出有什么方便。
确实,在一两个对象的情况下,直接new一个对象肯定比用Spring更快,但是如果是数量很多的情况下,Spring容器肯定比你自己一个个new来的快,而且Spring容器的好处不只是方便new 一个对象,最核心的是控制反转,有些时候我们需要将控制权交给容器,当条件合适的时候,它能帮我们直接创建对象,而不是我们来创建,这相当于将主动权交给了使用的人而不是开发的人,这无异于为开发者提供了很大的便利。
这是学习Spring的一个项目,它可以帮助我们打开学习Spring的大门,虽然说刚开始接触肯定没那么容易去理解它,毕竟学习不是一蹴而就的,需要我们脚踏实地,一步一个脚印去慢慢学习,之后你就会发现Spring给我们开发带来的便利远不止于此。