您的位置:首页 > 编程语言 > Java开发

学习笔记之Spring入门HelloWorld

2016-12-08 16:49 393 查看
Spring 是一个开源框架.

Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.
Spring 是一个 IOC(DI) 和 AOP 容器框架.

具体描述 Spring:
轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API
依赖注入(DI --- dependency injection、IOC)
面向切面编程(AOP --- aspect oriented programming)
容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期
框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象
一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)

Spring模块:



搭建Spring开发环境



Spring 的配置文件: 一个典型的 Spring 项目需要创建一个或多个 Bean 配置文件, 这些配置文件用于在 Spring IOC 容器里配置 Bean. Bean 的配置文件可以放在 classpath 下, 也可以放在其它目录下.

HelloWolrd类

package com.atguigu.spring.helloworld;

public class HelloWorld {

private String name;

public HelloWorld() {
System.out.println("HelloWorld's constructor...");
}

public void setName(String name) {
System.out.println("setUser:" + name);
this.name = name;
}

public void hello(){
System.out.println("Hello: " + name);
}

}


配置文件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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 
<bean id="helloWorld" class="com.atguigu.spring.helloworld.HelloWorld">
<property name="name" value="Spring"></property>
</bean>
</beans>


测试类:

package com.atguigu.spring.helloworld;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

public static void main(String[] args) {

//		HelloWorld helloWorld = new HelloWorld();
//		helloWorld.setName("Spring");
//		helloWorld.hello();

//1. 创建 Spring 的 IOC 容器
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

//2. 从 IOC 容器中获取 bean 的实例
HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");

//3. 使用 hello 方法
helloWorld.hello();
}

}


运行结果:

HelloWorld's constructor...

setUser:Spring

Hello: Spring

扩展:

如果是这样

package com.atguigu.spring.helloworld;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

public static void main(String[] args) {

//1. 创建 Spring 的 IOC 容器
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

//2. 从 IOC 容器中获取 bean 的实例
//		HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");

//3. 使用 hello 方法
//		helloWorld.hello();
}

}


运行结果:

HelloWorld's constructor...

setUser:Spring

我们可以得出这样一个结论:创建 Spring 的 IOC 容器 时,完成了对 Bean 的初始化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: