1. 程式人生 > >spring入門01

spring入門01

Spring 簡介

Spring 是一個開源框架. Spring為簡化企業級應用開發而生. 使用 Spring 可以使簡單的 JavaBean 實現以前只有 EJB 才能實現的功能. Spring 是一個 IOC(DI) 和 AOP 容器框架.

具體描述 Spring: 1.輕量級:Spring 是非侵入性的 - 基於 Spring 開發的應用中的物件可以不依賴於 Spring 的 API 2.依賴注入(DI — dependency injection、IOC) 3.面向切面程式設計(AOP — aspect oriented programming) 4.容器: Spring 是一個容器, 因為它包含並且管理應用物件的生命週期 5.框架: Spring 實現了使用簡單的元件配置組合成一個複雜的應用. 在 Spring 中可以使用 XML 和 Java 註解組合這些物件 6.一站式:在 IOC 和 AOP 的基礎上可以整合各種企業應用的開源框架和優秀的第三方類庫 (實際上 Spring 自身也提供了展現層的 SpringMVC 和 持久層的 Spring JDBC)

Spring文件相關

以下是常用的文件地址:

Spring入門案例

maven引入jar

<dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-context</artifactId>
	    <version>4.3.20.RELEASE</version>
	</dependency>

新增實體類

package cn.ps.lesson01;

public class Role {
	private
String roleName; public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } }

新增配置檔案 app.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"> <!-- Role r=new Role(); --> <bean id="r" class="cn.ps.lesson01.Role" ></bean> </beans>

新增測試類 TestSpring.java

package cn.ps.lesson01;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring {

	public static void main(String[] args) {
		//初始化spring容器
		ApplicationContext ac=new ClassPathXmlApplicationContext("app.xml");
		Role role=(Role)ac.getBean("r");
		role.setRoleName("zs");
		System.out.println(role);
	}
}

spring容器的子類

ApplicationContext代表容器物件 ,頂級父類** BeanFactory。** 子類表示讀取xml檔案的位置不同。

  1. ClassPath從類路徑下讀取。
  2. FileSystem 從檔案系統絕對路徑讀 預設從專案路徑下找。 路徑的查詢可以直接通過, 在路徑上新增字首的方式決定搜尋的方式。
  3. file:表示從檔案系統中尋找 等價於FileSystemXmlApplicationContext。
  4. classpath:表示從類路徑下讀取 等價於 ClassPathXmlApplicationContext。