栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring自动装配

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring自动装配

1、Bean的自动装配

在spring中有三种装配的方式

  1. 在xml中显示的装配

  2. 在java中显示配置

  3. 隐式的自动装配bean【重要】

    1.1、ByName,ByType自动装配
        
        
    
        
            
        
    

小结:

  • byname的时候,需要保证所有的bean的id唯一,并且这个bean需要和自动注入的属性set方法值一致

  • bytype的时候,需要保证所有的bean的class唯一,并且这个bean需要和自动注入的属性的类型一致

    1.2 、使用注解实现自动装配

    要使用注解须知:

    1. 导入约束:context约束

    2. 配置注解的支持:context:annotation-config/

      
      
      
          
      
      
      

@Autowired:直接在属性上使用即可,如果自动装配的环境比较复杂,自动装配无法通过一个注解【@Autowired】完成的时候,我们可以使用@Qualifier(value=“xxx”)去配置@Autowired使用,指定一个唯一的bean对象注入。

小结:

@Resource和@Autowired的区别:

  • 都是用来自动装配的,都可以放在属性字段上
  • @Autowired通过bytype的方式实现,再通过名字。@Qualifier(value=“xxx”)
  • @Resource默认通过byname方式实现,如果找不到名字,则通过bytype实现。
2、使用注解开发
  1. bean

  2. 属性如何注入

  3. 衍生的注解

    @Component有几个衍生注解,我们再web开发中,会按照mvc三层架构分层

    • dao 【@Repository】

    • service【@Service】

    • controller【@Controller】

      代表将某个类注册到Spring中,装配bean

3、使用java的方式配置Spring
//这个也会被spring容器托管,注册到容器中,因为它本身就是一个@Component
//@Configuration代表这是一个配置类,等价于beans.xml
@Configuration
public class AppConfig {
    //注册一个bean,就相当于我们之前写的一个bean标签
    //这个方法的名字,就相当于bean标签中的id属性
    //这个方法的返回值,就相当于bean标签中的class属性
    @Bean
    public MyService myService() {
        return new MyServiceImpl();//就是返回注入到bean的对象
    }
}
public static void main(String[] args) {
    ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
    MyService myService = ctx.getBean(MyService.class);
    myService.doStuff();
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309586.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号