spring系列推荐:http://blog.youkuaiyun.com/javaloveiphone/article/category/1275333/1
Spring 是什么
--------------------------------------------------------------------------------
1.Spring 是一个开源框架.
2.Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.
3.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官网:
http://projects.spring.io/spring-framework/
安装 SPRING TOOL SUITE
SPRING TOOL SUITE 是一个 Eclipse 插件,利用该插件可以更方便的在 Eclipse 平台上开发基于 Spring 的应用。
下载路径:http://spring.io/tools/sts
spring核心jar和Maven依赖
核心jar
依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
</dependencies>
建立sping项目
目录结构
HelloSpring.java
package com.xyc.spring;
public class HelloSpring {
private String name;
public void setName(String name) {
System.out.println("HelloSpring setName....");
this.name = name;
}
public void print() {
System.out.println("Hello: "+name);
}
public HelloSpring() {
System.out.println("HelloSpring Constructors....");
}
}
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
class: bean的全类名,通过反射的方式在 IOC 容器中创建 bean,所以要求bean中必须有无参的构造方法
id:表示容器中的bean. id 唯一
-->
<bean id="helloSpring" class="com.xyc.spring.HelloSpring">
<property name="name" value="spring"></property>
</bean>
</beans>
Application.java
package com.xyc.main;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.xyc.spring.HelloSpring;
public class Application {
public static void main(String[] args) {
/*
//之前的方式
//1.创建HelloSpring对象
HelloSpring hs = new HelloSpring();
//2.为name属性赋值
hs.setName("java");
//3.调用pring方法
hs.print();*/
//1.创建spring的 IOC 容器
//ApplicationContext 代表IOC容器
//ClassPathXmlApplicationContext 是ApplicationContext接口的实现类,该实现类是从类路径下加载配置文件
ApplicationContext apContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
//2.从 IOC 容器中获取Bean
//利用id定位到 IOC 容器中得Bean
HelloSpring hs = (HelloSpring) apContext.getBean("helloSpring");
//利用类型获取 IOC 容器中得Bean 但是要求 IOC 容器中必须只能有一个该类型的 Bean
//HelloSpring hs = apContext.getBean(HelloSpring.class);
//3.调用pring方法
hs.print();
}
}
运行结果