Spring----基础
概述:
为了解决企业级开发的复杂度问题
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。可以让主业务逻辑不会应为其他技术问题受到阻碍,例如,主业务数据库的操作,其中数据库的连接,提交commit等操作,就属于交叉业务,如果数据库连接不成功就会受到阻碍,导致主业务进行不下去,耦合度较高;而spring 可以良好的解决这个问题
new User();像这种实例化一个对象的操作不在有程序员操作,有Spring管理(控制反转loC)
Spring 的核心是控制反转(IoC)和面向切面编程(AOP)
非侵入式:
Spring框架的API不会在业务逻辑上出现;由于业务逻辑没有Spring的API,所以有比Spring框架更好的框架,业务逻辑可以从立刻从Spring迁移到其他框架;
Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、应用服务器设备管理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)。
第一个Spring应用程序:
目的:测试控制反转:
如果需要更新这些依赖包的版本,在maven的仓库(repository)中搜索:https://mvnrepository.com/search?q=spring
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zy</groupId> <artifactId>工程8</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.17.RELEASE</version> </dependency> </dependencies> </project>
主要增加了 org.springframework:spring-context
依赖(单体引用直接4就可以了)
创建 Spring 配置文件
在 src/main/resources
目录下创建 spring-context.xml
配置文件,从现在开始类的实例化工作交给 Spring 容器管理(IoC),配置文件如下:
<?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 id="userService" class="com.zy.service.impl.UserServiceImpl" /> //UserServiceImpl类自己实现 </beans>
-
<bean />
:用于定义一个实例对象。一个实例对应一个 bean 元素。 -
id
:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。 -
class
:指定该 Bean 所属的类,注意这里只能是类,不能是接口。
import com.zy.service.UserService; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { //获取Spring容器 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-context.xml"); //从Spring容器获取对象 UserService userService = (UserService) applicationContext.getBean("userService"); userService.test();//调用方法 } }
