1.配置文件配置

  1. <?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 ">
    <!-- 告知spring在创建容器时要扫描的包,配置所需要的标签不是在beans的约束中,而是一个名称为
    context名称空间和约束中-->
    <!-- 连接数据所用的 & 在xml文件中用 &amp; -->
  1. <context:component-scan base-package="com.zty"></context:component-scan>
    </beans>
    2.注解与XML的对应
  1. /**
    * 曾经XML的配置
    * <bean id="accountService" class="com.zty.service.impl.AccountServiceImpl"
    * scope="" init-method="" destroy-method="">
    * <property name="" value=""/ref="" ></property>
    * </bean>
    *
    * 用于创建对象的
    * 他们的作用就和在XML配置文件中编写一个<bean> 标签实现的功能是一样的
    * @Componant:
    * 作用 :用于把当前类对象存入spring容器中
    * 属性:
    * value:用于指定bean的id。当我们不写时,它的默认值是当前类名首字母改小写
    * Controller: 一般用在表现层 V
    * Service: 一般用在业务层 C
    * Repository:一般用于持久层 M
    * 以上三个注解他们的作用和Conmponant一样。
    * 他们三个是spring框架为我们提供明确的三层使用的注解,使我们的三层对象更加清晰
    * 用于注入数据的
    * 他们的作用就和在xml配置文件中的bean标签中写一个<property>标签的作用是一样的
    * Autowired:
    * 作用:自动按照类型注入。只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功。
    * 如果ioc容器中没有任何bean的类型和要注入的变量类型匹配,则报错。
    * 如果ioc容器中有多个类型匹配时
    * 查找顺序:1.按照数据类型在ioc中查找 2.以变量名称为ioc中id查找bean对象注入
    * 书写位置:
    * 可以是变量上,也乐意是方法上
    * 细节: 在使用注解注入时,set方法就不是必须的了。
    * Qualifier: 必须与一起Autowired使用
    * 作用:在按照类中注入的基础之上再按照名称注入。它在给类成员注入时不能单独使用。但是在给方法参数注入时可以
    * 属性:
    * value:用于指定注入bean的id
    * Resource:
    * 作用:直接按照bean的id注入。它可以独立使用
    * 属性:
    * name:用于指定bean的id。
    * 以上三种注解只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现
    * 另外,集合类型的注入只能同XML来实现
    *
    * Value
    * 作用:用于注入基本类型和String类型的数据
    * 属性:
    * value:用于指定数据的值。它可以使用spring中SpEL(也就是spring的el表达式)
    * SpEL的写法: ${表达式}
    * 用于改变作用范围的
    * 他们的作用集合在bean标签中使用scope属性实现的功能一样的。
    * Scope:
    * 作用:bean的作用范围
    * 属性
    * value:两个值,指定范围的取值:singleton(默认) prototype
    * 和生命周期相关 了解
    * 他们的作用就和在bean标签中使用init-method和destroy-methode的作用是一样的
    * PreDestroy
    * 作用:用于设定销毁方法
    * PostConstruct
    * 作用:用于设定初始方法
    */
    @Component
    @Scope("singleton")
    public class AccountServiceImpl implements IAccountService {
    public AccountServiceImpl(){
    System.out.println("调用构造方法service");
    }
    @Autowired
    // @Qualifier("accountDaoImpl")
    // @Resource("accountDaoImpl")
  2.  
  3. private IAccountDao accountDao;
    public void saveAccount() {
    accountDao.saveAccount();
    }
    }

spring的基于注解的IOC配置的更多相关文章

  1. 10 Spring框架--基于注解的IOC配置

    1.工程环境搭建 2.基于注解的IOC配置 IOC注解的分类 (1)用于创建对象的 他们的作用就和在XML配置文件中编写一个<bean>标签实现的功能是一样的@Component: 作用: ...

  2. Spring 框架的概述以及Spring中基于XML的IOC配置

    Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...

  3. spring-第十七篇之spring AOP基于注解的零配置方式

    1.基于注解的零配置方式 Aspect允许使用注解定义切面.切入点和增强处理,spring框架可以识别并根据这些注解来生成AOP代理.spring只是用了和AspectJ 5一样的注解,但并没有使用A ...

  4. Spring中基于注解的IOC(二):案例与总结

    2.Spring的IOC案例 创建maven项目 导入依赖 pom.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

  5. 基于注解的IOC配置

    1 明确 注解配置和XML配置要实现的功能都是一样的,都是要降低程序间的耦合.只是配置的形式不一样. 关于实际的开发中到底是使用XML还是注解,每家公司有着不同的习惯.具体问题具体分析. 2 环境搭建 ...

  6. Spring 基于注解的 IOC 配置

    创建 spring 的 的 xml 配置 文件 <context:component-scan base-package="com.itheim"/> 指定创建容器时要 ...

  7. spring的纯注解的IOC配置

    package config; import com.mchange.v2.c3p0.ComboPooledDataSource;import org.apache.commons.dbutils.Q ...

  8. Spring中基于注解的IOC(一):基础介绍

    1. Spring中的常用注解 注解配置和xml配置要实现的功能都是一样的,都要降低程序的耦合,只是配置的形式不一样 xml中配置示例: 注解分类: 1.用于创建对象的注解 它们的作用就和在xml中编 ...

  9. Spring AOP基于注解的“零配置”方式实现

    为了在Spring中启动@AspectJ支持,需要在类加载路径下新增两个AspectJ库:aspectjweaver.jar和aspectjrt.jar.除此之外,Spring AOP还需要依赖一个a ...

随机推荐

  1. 【夯实shell基础】shell基础面面观

    本文地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. shell中的函数 2. shell中的数组 3. shell中的变量 4. shell中的运算符 5. Linux的一些命 ...

  2. [LeetCode] 20. 有效的括号

    题目链接:https://leetcode-cn.com/problems/valid-parentheses/ 题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串, ...

  3. 使用RAP2和Mock.JS实现Web API接口的数据模拟和测试

    最近一直在思考如何对Web API的其接口数据进行独立开发的问题,随着Web API的越来越广泛应用,很多开发也要求前端后端分离,例如统一的Web API接口后,Winform团队.Web前端团队.微 ...

  4. codeforces#1152C. Neko does Maths(最小公倍数)

    题目链接: http://codeforces.com/contest/1152/problem/C 题意: 给出两个数$a$和$b$ 找一个$k(k\geq 0)$得到最小的$LCM(a+k,b+k ...

  5. 说说我心中的Linux系统

    我不知道在阅读此篇文章的你,是一个什么样的人,或许你只是偶然看到此篇文章的路人,或许是对linux有兴趣但没接触过linux的圈外人,或许是已经入行没多久的菜鸟,或许是喜欢linux却学习不下去预备放 ...

  6. c++ 重点随记

    1.在公有继承中:(1).派生类对象储存了基类的私有成员 (2).派生类对象可以使用基类的方法 (3).基类引用可以引用派生类对象,派生类引用不可以引用基类对象 2.基类引用引用派生类对象时:若基类引 ...

  7. java前端js和框架内容知识和面试

    关于数据库知识和面试 关于JAVA知识和面试 一.多个ajax请求执行顺序问题 若点击一个操作内,发送两个ajax请求,其中一个请求会不会等待另一个请求执行完毕之后再执行? 不会,这两个异步请求会同时 ...

  8. springboot项目从硬盘指定位置读取文件(获取静态资源)

    方法一:继承WebMvcConfigurerAdapter类 package com.imooc.demo.config; import org.springframework.context.ann ...

  9. 使用elementUI滚动条之横向滚动

    用过elementUI组件应该会知道它内置一个滚动效果,官网对此组件没有相关文档,也是细心网友发现的. <el-scrollbar></el-scrollbar> 将会出现滚动 ...

  10. Jetson TX1 install Opencv3

    https://jkjung-avt.github.io/opencv3-on-tx2/ 注意:在编译的时候会遇到内存空间不足的情况,可以插入U盘,将程序拷贝到U盘内编译,然后安装到Jetson上.U ...