目录
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情, 然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益
目的:解决企业应用开发的复杂性
功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
范围:任何Java应用
但在Pom.xml中,放入一下代码,目的:将当前项目所用的jar包依赖版本定义在外部,目的在于所有jar包版本进行统一管理
- <properties>
- <spring.version>5.0.1.RELEASEspring.version>
- <javax.servlet.version>4.0.0javax.servlet.version>
- <junit.version>4.12junit.version>
- properties>

创建一个接口UserBiz

一个接口必然有一个实现类,创建实现类
UserBizImpl1:

创建Web:
OrderAction:

UserAction:

spring/pom.xml
需要导入jar包依赖
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0modelVersion>
- <groupId>com.javaxlgroupId>
- <artifactId>springartifactId>
- <packaging>warpackaging>
- <version>0.0.1-SNAPSHOTversion>
- <name>spring Maven Webappname>
- <url>http://maven.apache.orgurl>
- <properties>
- <spring.version>5.0.1.RELEASEspring.version>
- <javax.servlet.version>4.0.0javax.servlet.version>
- <junit.version>4.12junit.version>
- properties>
- <dependencies>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>3.8.1version>
- <scope>testscope>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>${spring.version}version>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-aspectsartifactId>
- <version>${spring.version}version>
- dependency>
-
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>${junit.version}version>
- <scope>testscope>
- dependency>
-
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>${javax.servlet.version}version>
- <scope>providedscope>
- dependency>
- dependencies>
- <build>
- <finalName>springfinalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.7.0version>
- <configuration>
- <source>1.8source>
- <target>1.8target>
- <encoding>UTF-8encoding>
- configuration>
- plugin>
- plugins>
- build>
- project>
spring-conctext.xml:
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
-
-
- <bean class="com.zxw.biz.UserBizImpl1" id="userBiz">bean>
- <bean class="com.zxw.web.UserAction" id="userAction">
- <property name="userBiz" ref="userBiz">property>
- bean>
- <bean class="com.zxw.web.OrderAction" id="orderAction">
- <property name="userBiz" ref="userBiz">property>
- bean>
- beans>
新建一个demo

demo:
- package com.zxw.ioc.demo;
-
- import org.springframework.context.support.ClassPathXmlApplicationContext;
-
- import com.zxw.web.OrderAction;
- import com.zxw.web.UserAction;
- /*
- * 1.对Spring框架的配置文件进行建模、建模之后, spring-context.xml所有的javabean信息都会加载spring 容器上下文中
- * 2.上下文中就包哈了 spring-context.xml 所有对象
- *
- * IOC的特点 - 什么叫做控制反转
- * 指的是将创建对象的权利反转spring容器来完成
- *
- */
-
- public class Demo1 {
- @SuppressWarnings("resource")
- public static void main(String[] args) {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("/spring-context.xml");
- UserAction userAction = (UserAction) context.getBean("userAction");
- userAction.list();
-
- OrderAction orderAction = (OrderAction) context.getBean("orderAction");
- orderAction.list();
-
- }
- }
效果:
