Spring的获取容器:

public static void main(String[] args) {
        //获取核心容器 BeanFactory延迟加载对象
        ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
        //获取对象自己强转
        AccentService service = (AccentService) ac.getBean("accountService");
        //传入字节码
        UserDao dao = ac.getBean("accountDao",UserDao.class);
        service.upDate();
    }

Spring的注入配置:

  

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

    <bean id="accountService" class="cn.mepu.service.imp.AccentServiceImp"></bean>
    <bean id="accountDao" class="cn.mepu.dao.imp.userDaoImp"></bean>
<!--    第二种:工厂或类中的方法返回值是对象
    <bean id="接收返回值" factory-bean="指定工厂类" factory-method="工厂类中获取对象的方法"></bean>
    -->
<!--    第三种:使用工厂中的静态方法创建对象,并存入spring容器
    <bean id="接收返回值" class="工厂或类" factory-method="静态方法"></bean>
    -->

<!--    bean的作用范围调整
        bean标签的scope属性:
            singleton:单例默认值
            prototype:多例
            request:作用于web应用的请求范围
            session:作用于web应用的会话范围
            global-session:作用于集群环境的会话范围(全局会话范围),当不是集群时它就是session
-->

<!--    bean对象的生命周期
            单例对象:
                出生:当容器创建时对象出生
                活着:容器在在,对象活着
                死亡:容器销毁
                总结:单例对象的生命周期和容器相关
            多例对象:
                出生:使用对象时spring框架为我们创建对象
                活着:使用过程中
                死亡:对象长时间不使用也没有别的对象引用时垃圾回收机制回收对象
        -->

<!--依赖注入
能注入的数据:
    基本类型和String
    其他类型bean类型
    复杂类型/集合类型:
        <bean id="accountDao" class="cn.mepu.dao.imp.userDaoImp">
            <property name="" >
                <数据类型标签>
                    <value>赋值</value>
                </数据类型标签>
            </property>
        </bean>
        用于给list结构注入的标签有
            list arrary set
        用于给Map结构注入的
            map propes
     结构相同可以公用

注入方式:
    使用构造函数:
        类中定义可注入变量如:private String s;
        在bean标签中使用constructor-arg标签
        type:要注入数据的数据类型,是实体类中的类型
        index:实体类中的构造函数的索引,索引从0开始
        name:指定给构造函数中指定名称赋值
        value:基本数据类型货String
        ref:引用数据类型
    <bean id="accountDao" class="cn.mepu.dao.imp.userDaoImp">
        <constructor-arg index="" value=""></constructor-arg>
        <constructor-arg name="" ref="now"></constructor-arg>
    </bean>
    <bean id="now" class="java.util.Date"></bean>

    使用set方法:
        实体类中变量的set方法
            property标签
                name:实体类set的方法名称
                value:基本数据类型
                ref:引用数据类型
        <bean id="accountDao" class="cn.mepu.dao.imp.userDaoImp">
            <property name="" value=""></property>
        </bean>

    使用注解:

类的构造函数中赋值变量

-->

</beans>

spring_入门配置和注入的更多相关文章

  1. CEPH集群操作入门--配置

      参考文档:CEPH官网集群操作文档   概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...

  2. ASP.NET Core 在 JSON 文件中配置依赖注入

    前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等 ...

  3. Spring boot将配置属性注入到bean类中

    一.@ConfigurationProperties注解的使用 看配置文件,我的是yaml格式的配置: // file application.yml my: servers: - dev.bar.c ...

  4. Spring-MVC开发步骤(入门配置)

    Spring-MVC开发步骤(入门配置) Step1.导包 spring-webmvc Step2.添加spring配置文件 Step3.配置DispatcherServlet 在web.xml中: ...

  5. mybatis入门配置和调试

    欢迎转载http://www.cnblogs.com/jianshuai520/p/8669177.html大家一起努力,如果看的时候有图片半边遮挡起来的话,右键查看图片,就可以观看完整的图片,具体怎 ...

  6. Springboot学习笔记(六)-配置化注入

    前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...

  7. webpack4入门配置

    下面是抄过来的,方便自己翻越 webpack4.x入门配置   1.首先npm install webpack webpack-cli webpack-dev-server -g (mac电脑用超级管 ...

  8. spring中bean配置和注入场景分析

    bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean,并 ...

  9. webpack快速入门——配置JS压缩,打包

    1 .首先在webpack.config.js中引入 const uglify = require('uglifyjs-webpack-plugin'); 2.然后在plugins配置里 plugin ...

随机推荐

  1. Synchronized 与 ReentrantLock 的区别!

    来源:cnblogs.com/baizhanshi/p/7211802.html 之前栈长分享了重入锁的概念:<到底什么是重入锁,拜托,一次搞清楚!>,今天现来深入了解下 Synchron ...

  2. 19-vim-分屏命令-01-末行命令扩展

    1.末行命令扩展 命令 英文 功能 :e空格. edit 打开内置文件浏览器,浏览当前目录下的文件,不用退出vim,可以在vim中上下浏览目录和文件 :n 文件名 new 新建文件 :w 文件名 wr ...

  3. 安装APK到android设备那些事儿

    APK是AndroidPackage的缩写,即Android系统的应用软件安装包(apk).APK是类似Symbian Sis或Sisx的文件格式.通过将APK文件直接传到Android模拟器或And ...

  4. Linux (ifconfig/docker) 移除网桥/虚拟网卡

    今天上大数据实践课时,使用学校提供的云主机平台创建了几台vps,但是安全组配置好之后发现无法用ssh无法登录,ping也不通,提示网络无法到达. 但是拿别人的电脑试了下能顺利使用ssh连接. 有人说是 ...

  5. .net Mvc Dapper 方法封装

    首先需要添加 NuGet 包 Dapper 以及引用Configuration <connectionStrings>      <add name="SqlSrc&quo ...

  6. 前端学习(十四)js回顾和定时器(笔记)

    回顾知识点:    作用域:        1.全局变量:在任何位置都可以使用的变量        2.局部变量:只能在函数内部使用的变量        3.闭包:子函数可以使用父函数的局部变量 -- ...

  7. vue之ref

    ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件. 1.ref ...

  8. Delphi ComboBox组件 style=csDropDownlist 的赋值方法

    赋值方法: ComboBox1.Items.Add( '文本 '); ComboBox1.ItemIndex := ComboBox1.Items.IndexOf( '文本 '); 清空: Combo ...

  9. 如何基于 Nacos 和 Sentinel ,实现灰度路由和流量防护一体化

    基于Alibaba Nacos和Sentinel,实现灰度路由和流量防护一体化的解决方案,发布在最新的 Nepxion Discovery 5.4.0 版,具体参考: 源码主页,请访问 源码主页指南主 ...

  10. 【LeetCode 23】合并K个排序链表

    题目链接 [题解] 会归并排序吧? 就把这K个链表当成是K个数字就好. 然后做归并排序. 因为归并排序的时候本来就会有这么一个过程. [l..mid]和[mid+1..r]这两段区间都是有序的了已经. ...