目录
开发环境
(一)spring简介
- Spring 是一个开源框架. 2. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean实现以前只有 EJB 才能实 现的功能. 3. Spring 是一个 IOC(DI) 和 AOP 容器框架.
- 轻量级:Spring 是非侵入性的 – 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API
- 依赖注入(DI — dependency injection、IOC)
- 面向切面编程(AOP — aspect oriented programming)
- 容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期
- 框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象
- 一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)
(二)在IntelliJ IDEA中创建Spring项目
-
点击Create New Project
-
点击Spring,同时右侧勾选Spring,然后点击Next.
注意:可以勾选create empty spring-config.xml自动生成spring配置文件
- 设置项目名称以及存放路径,点击Finish
- 等待IDEA下载相关jars,下载完成后,Spring的jars和配置文件都准备完成
(三)以HelloWorld为例的简单介绍与开发步骤
(1)不使用框架进行开发
- 首先创建HelloWorld类,并给予Name属性,同时写入一个SayHello的方法,以及一个setName方法用来设置name属性。
public class HelloWorld {
private String Name;
public void SetName(String name){
this.Name = name;
}
public void SayHello(){
System.out.println("Hello " + Name);
}
}
在不使用框架的时候要调用SayHello这个方法,可以分为3步。
- 创建一个HelloWorld的实例对象
- 设置实例对象的name属性
- 调用对象的SayHello()方法
- 创建Main函数,并运行程序
public class main {
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();//创建Helloworld对象
helloWorld.SetName("Spring");//对Name属性赋值
helloWorld.SayHello();//调用SayHello方法
}
}
结果如下
(2)使用Spring框架进行开发
- 在Spring的配置文件中加入如下内容
<bean id="HelloWorld" class="beans.HelloWorld">
<property name="Name" value="Spring"></property>
</bean>
- 此时配置好了HelloWorld Bean的信息,我们再调用sayHello()方法的时候,同样也需要3个步骤。
(1)创建一个Spring的IOC容器对象
(2)从IOC容器中获取Bean实例
(3)调用SayHello()方法
修改main函数中的内容如下
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class main {
public static void main(String[] args) {
//1、创建一个Spring的IOC容器对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
//2、从IOC容器中获取Bean实例
HelloWorld helloWorld = (HelloWorld) context.getBean("HelloWorld");
//3、调用sayHello()方法
helloWorld.SayHello();
}
}
调试运行结果如下
- 修改HelloWorld类的构造函数和setName函数,如下
private String name;
public helloWorld(){
System.out.println("This is HelloWorld constructor.");
}
public void setName(String name){
System.out.println("This is HelloWorld SetName.");
this.name = name;
}
public void sayHello(){
System.out.println("Hello " + name);
}
调试运行结果如下
(四)对Spring作用的初步了解
从上面的例子可以得出结论,Spring到底帮我们做了什么,当我们没有使用Spring的时候,调用sayHello()方法需要3步:
1.创建一个HelloWorld的实例对象
2.设置实例对象的name属性
3.调用对象的sayHello()方法
使用Spring也需要3步:
1.创建一个Spring的IOC容器对象
2.从IOC容器中获取Bean实例
3.调用sayHello()方法
本篇探究了Java什么时候new的helloWorld对象。可以看出,Spring完成了创建实例对象以及设置对象的属性,也就是说可以把对象的创建和管理工作交给Spring去完成,不需要自己去new对象,也不需要设置对象的属性,只需要写Spring的配置文件,当需要对象的时,只需要找Spring获取即可。