zoukankan      html  css  js  c++  java
  • 基于注解初始化IoC容器

    创建s07
    pom.xml文件的依赖不变
    创建applicationContext.xml文件,引入schema。
    基于注解的schema和基于xml的schema不一样
    最典型的是增加了一个名为context的命名空间
    命名空间:就像是java中的包名一样。区分和xml的bean标签
    xmlns:context="http://www.springframework.org/schema/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
            https://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            https://www.springframework.org/schema/context/spring-context.xsd">
    </beans>
    context:component-scan组件扫描。具体的用意是在IoC容器初始化时自动扫描四种组件类型注解并完成实例化@Repository、@Service、@Controller、@Component
    context:component-scan下的属性base-package代表基准包是哪个,扫描哪个包下面所有的类
    设置Dao实现类
    组件类型注解默认beanId为类名首字母小写。此处beanId=userDao
    也可以进行手动设置beanId。注解之后加括号双引号。默认是value属性,例@Repository(" ")
    import org.springframework.stereotype.Repository;
    
    // 用于说明当前对象用于数据持久化。增删改查
    // 组件类型注解默认beanId为类名首字母小写。beanId=userDao
    // 也可以进行手动设置@Repository("")默认是value属性
    @Repository
    public class UserDao {
    }
    IoC容器初始化以后,我们可以将容器内对象打印出来
    context.getBeanDefinitionNames()获取到容器内所有有效的beanId。返回一个id数组。getBean()打印的是bean对象。
            String[] ids = context.getBeanDefinitionNames();
            for(String id:ids){
                System.out.println(id + " ");
            }
    这四类注解都是单例的
  • 相关阅读:
    MyBatis中#{}和${}的区别
    springBoot 配置详解
    模板方法模式
    记录一次linux挂载数据盘
    缓存击穿,缓存穿透,缓存雪崩
    Echart折线值相加问题
    mybatis plus主键生成策略
    BigDecimal精度损失
    cent0s6安装nginx小程序https
    Centos6 java运行环境部署
  • 原文地址:https://www.cnblogs.com/sx1011/p/13676145.html
Copyright © 2011-2022 走看看