Spring之Spring环境搭建
一、什么是Spring?
1、Spring的核心是一个轻量级(Lightweight)的容器(Container)。
2、Spring是实现IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。
3、Spring提供AOP(Aspect-oriented programming)概念的实现方式。
4、Spring提供对持久层(Persistence)、事物(Transcation)的支持。
5、Spring供MVC Web框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装。
6、Spring提供了对现存的各种框架(Structs、JSF、Hibernate、Ibatis、Webwork等)相整合的方案。
二、Spring之JavaSE环境搭建
1、基本的Jar 包:
commons-logging-1.2.jar
spring-aop-4.3.0.RELEASE.jar
spring-aspects-4.3.0.RELEASE.jar
spring-beans-4.3.0.RELEASE.jar
spring-context-4.3.0.RELEASE.jar
spring-core-4.3.0.RELEASE.jar
spring-expression-4.3.0.RELEASE.jar
2、项目目录结构
3、源代码
①、HelloWorld.java(POJO)
1 package cn.com.zfc.helloworld; 2 3 public class HelloWorld { 4 5 // 私有属性 6 private String name; 7 8 public HelloWorld() { 9 System.out.println("HelloWorld Constructor()..."); 10 } 11 12 public void sayHello() { 13 System.out.println("Hello " + this.name); 14 } 15 16 public String getName() { 17 System.out.println("HelloWorld getName()..."); 18 return name; 19 } 20 21 public void setName(String name) { 22 System.out.println("HelloWorld setName()..."); 23 this.name = name; 24 } 25 26 }
②、bean-helloworld.xml(Spring配置文件)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5 6 <!-- 配置bean:id,bean的唯一标识;class,bean实现的实现类 --> 7 <bean id="helloWorld" class="cn.com.zfc.helloworld.HelloWorld"> 8 <!-- 使用属性注入 --> 9 <property name="name" value="Spring"></property> 10 </bean> 11 </beans>
③、TestHelloWorld.java(测试类)
1 package cn.com.zfc.test; 2 3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 6 import cn.com.zfc.helloworld.HelloWorld; 7 8 public class TestHelloWorld { 9 public static void main(String[] args) { 10 /* 1、获取Ioc容器 */ 11 ApplicationContext ctx = new ClassPathXmlApplicationContext("bean-helloworld.xml"); 12 13 /* 2、获取bean */ 14 15 //根据id获取bean 16 HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld"); 17 18 /* 3、调用bean的方法 */ 19 helloWorld.sayHello(); 20 } 21 }
④、运行效果
二、Spring之JavaEE环境搭建
1、基本Jar包
commons-logging-1.2.jar
spring-aop-4.3.0.RELEASE.jar
spring-beans-4.3.0.RELEASE.jar
spring-context-4.3.0.RELEASE.jar
spring-core-4.3.0.RELEASE.jar
spring-expression-4.3.0.RELEASE.jar
spring-web-4.3.0.RELEASE.jar
2、目录结构
3、源代码
①HelloWorld.java(POJO)
1 package cn.com.zfc.bean; 2 3 public class HelloWord { 4 private String name; 5 6 public HelloWord() { 7 super(); 8 } 9 10 public String getName() { 11 return name; 12 } 13 14 public void setName(String name) { 15 this.name = name; 16 } 17 18 @Override 19 public String toString() { 20 return "HelloWord [name=" + name + "]"; 21 } 22 23 }
②web.xml(注册Spring的配置文件)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://xmlns.jcp.org/xml/ns/javaee" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 5 id="WebApp_ID" version="3.1"> 6 <display-name>Spring_02</display-name> 7 <welcome-file-list> 8 <welcome-file>index.jsp</welcome-file> 9 </welcome-file-list> 10 <!-- 注册 Spring 配置文件 --> 11 <!-- needed for ContextLoaderListener --> 12 <context-param> 13 <param-name>contextConfigLocation</param-name> 14 <!-- Spring 配置文件的位置 --> 15 <param-value>classpath:applicationContext.xml</param-value> 16 </context-param> 17 <!-- 配置监听器,加载 Spring 配置文件 --> 18 <listener> 19 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 20 </listener> 21 </web-app>
③applicationContext.xml(Spring的配置文件)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 5 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> 6 <!-- 配置 bean --> 7 <bean id="" class="cn.com.zfc.bean.HelloWord"> 8 <!-- 使用属性注入为 HelloWorld 的属性赋值 --> 9 <property name="name" value="zfc"></property> 10 </bean> 11 12 </beans>
④index.jsp(测试页面)
1 <%@page import="cn.com.zfc.bean.HelloWord"%> 2 <%@page import="org.springframework.context.ApplicationContext"%> 3 <%@page 4 import="org.springframework.web.context.support.WebApplicationContextUtils"%> 5 <%@ page language="java" contentType="text/html; charset=UTF-8" 6 pageEncoding="UTF-8"%> 7 <!DOCTYPE html> 8 <html> 9 <head> 10 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 11 <title>Spring</title> 12 </head> 13 <body> 14 <h1>Spring 在 web 项目中的应用</h1> 15 <% 16 /* 在 jsp 页面中获取 Spring 的 Ioc 容器 */ 17 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(application); 18 /* 获取 bean,使用类型 */ 19 HelloWord helloWord = ctx.getBean(HelloWord.class); 20 %> 21 <h2> 22 在 jsp 中获取 bean:<%=helloWord%></h2> 23 </body> 24 </html>
4、运行效果