idea 新建spring maven项目、ioc和依赖注入
文章目录
- 一、新建Spring-Maven项目
- 二、在Spring-context使用IOC和依赖注入
一、新建Spring-Maven项目
- 在pom.xml文件中添加插件管理依赖
maven-compiler-plugin 3.1 1.8 1.8
- 在pom.xml文件中添加Spring-Context依赖
- 其他版本地址
- https://mvnrepository.com/artifact/org.springframework/spring-context
org.springframework spring-context 5.2.5.RELEASE
二、在Spring-context使用IOC和依赖注入
- 在resource里面新建一个spring的xml文件
-
applicationContext.xml ,如图
-
新建接口类
package org.study; public interface ISomeService { void doSome(); }
-
新建接口实现类
package org.study; public class SomeService implements ISomeService{ /** * 构造函数 */ public SomeService() { System.out.println("SomeService 构造函数!"); } /** * */ @Override public void doSome() { System.out.println("doSome 函数!"); } }
-
Main函数中执行
package org.example; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.study.ISomeService; public class Main { public static void main(String[] args) { //加载配置文件 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); //第一种方式 ISomeService iSomeService = (ISomeService)context.getBean("SomeService"); iSomeService.doSome(); //第二种方式 要求:获取对应的实例,该实例必须实现对应的接口 ISomeService iSomeService1 = context.getBean("SomeService",ISomeService.class); iSomeService.doSome(); } }
-
在当前的服务中调用其他服务
- 第一种方式
- 使用setter的方式
- 接口类
package org.study; public interface ISomeService1 { void doSome(); }
- 实现类
package org.study; public class SomeService1 implements ISomeService1{ private ISomeService iSomeService; public void setiSomeService(ISomeService iSomeService) { this.iSomeService = iSomeService; } /** * 构造函数 */ public SomeService1() { System.out.println("SomeService1 构造函数!"); } /** * */ @Override public void doSome() { iSomeService.doSome(); } }
- applicationContext.xml
- 第二种方式
- 使用构造函数方式
- 接口类
package org.study; public interface ISomeService1 { void doSome(); }
- 实现类
package org.study; public class SomeService1 implements ISomeService1{ private ISomeService iSomeService; public SomeService1 (ISomeService iSomeService){ this.iSomeService = iSomeService; } /** * 构造函数 */ public SomeService1() { System.out.println("SomeService1 构造函数!"); } /** * */ @Override public void doSome() { iSomeService.doSome(); } }
- applicationContext.xml
- main函数执行
ISomeService1 iSomeService1 = context.getBean("SomeService1",ISomeService1.class); iSomeService1.doSome();
- 接口类
- 使用构造函数方式
- 接口类
- 使用setter的方式
- 第一种方式
-
- 在resource里面新建一个spring的xml文件
- https://mvnrepository.com/artifact/org.springframework/spring-context
- 其他版本地址
- 在pom.xml文件中添加插件管理依赖
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。