spring IOC 使用注解方式配置


spring·基于注解的方式IOC操作bean管理

1 配置maven依赖


    
        org.springframework
        spring-webmvc
        5.2.9.RELEASE
    

    
        junit
        junit
        4.13
        test
    

    
        org.projectlombok
        lombok
        1.18.20
    


2 xml文件配置

  • 约束文件

  • 开启组件扫描

    <?xml version="1.0" encoding="UTF-8"?>
    
    
    	
       
    
    

    3 在要创建类的上面添加注解@component

    • @Component, @Service, @Controller, @Repository作用是一样的
    • 注解里面的value属性值可以省略不写

    • 默认值是类名称,首字母小写

      如:UserService -- userService

    • 在xml配置文件上配置bean文件

    4 组件扫描的细节

    • 在xml文件配置

    • use-default-filter="false",表示不使用默认的filter,自己设置扫描内容

      
       
      
      
      

      意思是:在com.atguigu这个包中,默认不扫描,扫描类型是注解,注解是@Controller下的类

    • exclude-filter:设置那些内容不进行扫描

      
       
      
      

    5 基于注解方式实现属性注入

    1. @Autowired
    2. @Qualifier
    3. @Resource
    4. Value
    • @Autowired:根据属性类型进行自动装配

      操作步骤:1 用注解的方式创建对象

      2 在要实现属性注入的对象上面添加@Autowire注解

    • @Qualifier:根据名称进行注入

      @Qualifier(value = "属性名称")

    • @Resource:可以根据类型注入,可以根据名称注入

6 完全注解开发

1 创建一个配置类

2 在类上面写注解

@Configuration //作为配置类,替代 xml 配置文件
@ComponentScan(basePackages = {"com.atguigu"})
public class SpringConfig {
}

3 创建测试类

将ClassPathXMLConfigApplication改写程AnnotationConfigApplication

@Test
public void testService2() {
 //加载配置类
 ApplicationContext context
 = new AnnotationConfigApplicationContext(SpringConfig.class);
    
    
}