Spring IOC快速入门——(一)

    技术2022-07-10  116

    Spring IOC快速入门

    Spring IOC底层实现原理

    Spring官方下载地址:

    https://repo.spring.io/libs-release-local/org/springframework/spring/

    目录结构:

    docs:api文档和开发规范 libs:开发需要的jar包和源码 schema:开发需要的schema文件

    新建项目:

    项目结构:

    没有resources解决方法:

    ok

    项目测试:

    在pom.xml中导入依赖文件

    copy代码:

    <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency> </dependencies>

    新建Java文件

    Java文件变成源代码文件

    右键java文件

    测试传统开发方式和Spring反转控制和依赖注入

    在resources下新建xml配置文件

    copy代码:
    <?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"> <!--UserService的创建权交给了Spring--> <bean id="userService" class="com.imooc.ioc.demo1.UserServiceImpl"> <!--设置属性--> <property name="name" value="食品名称"/> <property name="taste" value="食品口味"/> <property name="kind" value="食品种类"/> </bean> </beans>

    1.新建包

    2.新建接口UserService

    public interface UserService { public void sayHello(); }

    3.新建类UserServiceImpl

    public class UserServiceImpl implements UserService { private String name; private String taste; private String kind; public void sayHello(){ System.out.println("hello spring"); System.out.println(name+kind+taste); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTaste() { return taste; } public void setTaste(String taste) { this.taste = taste; } public String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } }

    4.新建测试类SpringDemo1

    public class SpringDemo1 { @Test /** *传统方式开发 */ public void demo1(){ //UserService userService = new UserServiceImpl(); UserServiceImpl userService = new UserServiceImpl(); //设置属性 userService.setName("张三"); userService.sayHello(); } @Test /** *Spring方式实现 */ public void demo2(){ //创建Spring的工厂 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); //通过工厂获得类 UserService userService =(UserService) applicationContext.getBean("userService"); userService.sayHello(); } }
    Processed: 0.013, SQL: 9