净化工程 技术支持 东莞网站建设,北京做网站的大公司,怎么用word做网站,创意极简logo【Spring】idea maven 从零创建Spring IoC容器示例 1. 环境准备2. 创建maven项目3. 添加依赖4. 创建Java类与接口4.1 定义接口UserService4.2 实现接口UserServiceImpl 5. 配置Spring IoC容器6. 编写主类调用IoC容器扩展#xff1a;使用注解方式实现IoC1. 修改beans.xml2.使用… 【Spring】idea maven 从零创建Spring IoC容器示例 1. 环境准备2. 创建maven项目3. 添加依赖4. 创建Java类与接口4.1 定义接口UserService4.2 实现接口UserServiceImpl 5. 配置Spring IoC容器6. 编写主类调用IoC容器扩展使用注解方式实现IoC1. 修改beans.xml2.使用注解标记Bean 小结 1. 环境准备
idea编辑器 jdk1.8 maven
2. 创建maven项目
① 打开IDEA → New Project → Maven → Next ② 填写项目信息 Groupldvip.buddha ArtifactId: spring-ioc-demo Version: 1.0.0 ③ 点击Finish项目结构如下
spring-ioc-demo
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ └── java
└── pom.xml3. 添加依赖
dependencies!-- Spring 基础依赖 --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.39/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion5.3.39/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion5.3.39/version/dependency!-- Spring IoC 核心依赖 --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.39/version !-- 与 Spring 版本一致 --/dependency
/dependencies手动添加完毕依赖点击idea右侧maven面板的刷新按钮下载依赖
4. 创建Java类与接口
4.1 定义接口UserService
package vip.buddha.service;public interface UserService {String getUserName();
}4.2 实现接口UserServiceImpl
package vip.buddha.service;public class UserServiceImpl implements UserService{Overridepublic String getUserName() {return buddha;}
}5. 配置Spring IoC容器
在src/main/resources下创建beans.xml
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!-- 定义bean --bean iduserService classvip.buddha.service.UserServiceImpl/
/beans6. 编写主类调用IoC容器
package vip.buddha;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import vip.buddha.service.UserService;public class Main {public static void main(String[] args) {// 1、加载Spring配置文件ApplicationContext context new ClassPathXmlApplicationContext(beans.xml);// 2、从容器中获取beanUserService userService context.getBean(userService, UserService.class);// 3、调用方法String userName userService.getUserName();System.out.println(userName);}
}编写完毕项目结构如下图
spring-ioc-demo
├── src
│ ├── main
│ │ ├── java
│ │ │ ├── vip.buddha
│ │ │ │ ├── service
│ │ │ │ │ ├── UserService.java
│ │ │ │ │ ├── UserServiceImpl.java
│ │ │ │ ├── Main.java
│ │ └── resources
│ │ │ ├── beans.xml
│ └── test
│ └── java
└── pom.xml扩展使用注解方式实现IoC
1. 修改beans.xml
开启组件扫描
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd!-- 开启组件扫描 --context:component-scan base-packagevip.buddha/
/beans2.使用注解标记Bean
package vip.buddha.service;import org.springframework.stereotype.Component;Component(userService) // 等价于 bean iduserService .../
public class UserServiceImpl implements UserService{Overridepublic String getUserName() {return buddha;}
}小结
IoC核心思想对象的创建和依赖管理由Spring容器负责而非手动new