简介 #
Spring 是 Java EE 编程领域的一款轻量级的开源框架,
由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,
它的目标就是要简化 Java 企业级应用程序的开发难度和周期。
优点:
- 框架开源免费
- 轻量化,非侵入式
- 控制反转( IOC ) , 面向切面编程( AOP ) (面试重点)
- 支持事务的处理
非侵入式
利用反射和动态调用来实例化的,代码中没有任何与 spring 交叉的类,哪怕把 spring 的 jar 全部去了,你的代码不受任何影响,加上其他的框架后可以继续运行。
扩展 #
Spring Boot :
- 一个快速开发的脚手架
- 基于 SpringBoot 可以快速开发单个微服务
- 和 Maven 一样. 约定大于配置
约定大于配置
在开发中,如果有些值你没有配置的话,那程序会取一个默认值,换句话说,能取默认值的配置,就不需要配置了,这个默认值就是约定。
约定可以减少很多配置.
Spring Cloud:
- SpringCloud 是基于 SpringBoot 是吸纳的
学习 SpringBoot 的前提在于熟悉 Spring 以及 SpringMVC
环境配置 #
前置条件 :
- Maven 框架,然后在 pom.xml 中导入
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.22.RELEASE</version>
</dependency>基于 XML 的 Spring 应用 #
创建第一个Spring程序 #
创建JAVA类
// 需要创建实例的User类
package org.example;
public class User {
private String userName ;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}// 执行Bean的主类
package org.example;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Hello world! * */public class App {
public static void main( String[] args ) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) context.getBean("user");
user.setUserName("TEST");
System.out.println(user.getUserName());
}
}配置XML 由于 Spring 框架通过 applicationContext.xml 来实现配置 JAVA Bean ,所以需要在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 name="user" class="org.example.User"></bean>
</beans>运行结果:
TEST