Spring学习——IOC

Posted geekshawn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring学习——IOC相关的知识,希望对你有一定的参考价值。

Spring的bean管理(注解方式)

1. 示例准备

(1)导入jar包

技术图片

(2)创建类和方法

1 public class User {
2     public void fun() {
3         System.out.println("function");
4     }
5 }

(3)创建spring配置文件并引入约束

在beans约束的基础上,引入context约束。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 
</beans>

(4)开启注解扫描

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        <!-- 开启注解扫描 -->
            <!-- 到base-package指示的包当中,扫描类、方法、属性上面是否有注解 -->
        <context:component-scan base-package="cn.itcast"></context:component-scan>
</beans>

 

2. 注解创建对象

1 import org.springframework.stereotype.Component;
2 
3 @Component(value = "user")
4 public class User {
5     public void fun() {
6         System.out.println("function");
7     }
8 }
 1 import org.junit.Test;
 2 import org.springframework.context.ApplicationContext;
 3 import org.springframework.context.support.ClassPathXmlApplicationContext;
 4 
 5 public class TestAnno {
 6     @Test
 7     public void testUser() {
 8         ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
 9         User user = (User) context.getBean("user");
10         System.out.println(user);
11         user.fun();
12     }
13 }

技术图片

(1)创建对象使用的四个注解

Spring中提供@Component的三个衍生注解(功能目前是一致的):

- @Controller:WEB层

- @Service:业务层

- @Repository:持久层

三个注解是为了让标注类本身的用途清晰,Spring在后续版本中会对其增强。

(2)Scope注解

 技术图片

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于Spring学习——IOC的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架学习02——Spring IOC 详解

Spring学习笔记 IOC

Spring学习笔记3:IOC快速入门其他配置

spring 学习 AOP和IOC

Spring学习总结- IOC

[死磕 Spring 17/43] --- IOC 之从单例缓存中获取单例 bean