小工具      在线工具  汉语词典  css  js  c++  java

Spring获取Bean的两种方式

Java 额外说明

收录于:45天前

1.通过XML加载bean(使用传统的xml配置方式创建bean)

    @Test
    public void ClassPathXmlApplicationContextTest() {
        /**
         *  1。xml加载bean
         */
        ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-main.xml");
        LJUserService testService = (LJUserService) ac.getBean("lJUserService");

        LJUserQuery query = new LJUserQuery();
        List<LJUser> list = testService.selectUserList(query);

        System.out.println("getUserId:" + list.get(0).getUserId());
    }

2、使用@Configuration注解加载Bean(构建器模式下的Car参见上一篇文章)

在配置类上添加@Configuration注解,声明该类为Spring配置类。创建方法时,该方法返回我们要创建的Car对象,并返回该对象的实例。在方法上加上@Bean注解,表明该方法返回的实例是Spring管理的Bean。

package com.JXWork.test;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @auther: TF12778
 * @date: 2020/3/21 14:55
 * @description:
 */

@Configuration
public class CarConfig {

    @Bean
    public Car getCar() {
        Car car = new Car.Builder().carBody("大众车身")
                .tyre("大众品牌")
                .engine("波音")
                .decoration("比亚迪")
                .aimingCircle("宝骏")
                .safetyBelt("特斯拉")
                .build();
        return car;
    }
}
    @Test
    public void AnnotationConfigApplicationContextTest() {
        /**
         * 2。@Configuration 加载bean
         *
         */

        ApplicationContext ctx = new AnnotationConfigApplicationContext(CarConfig.class);
        Car car = ctx.getBean(Car.class);
        System.out.println(car);
    }

 

. . .

相关推荐

额外说明

您不能在 FROM 子句中指定要更新的目标表“region”

首先明确一点这个错误只会发生在delete语句或者update语句,拿update来举例 : update A表 set A列 = (select B列 from A表); 这种写法就会报这个错误,原因:你又要修改A表,然后又要从A表查数据,而且还是同层

额外说明

自己实现一个strstr(字符串搜索子串)

#include <stdio.h> #include <assert.h> char* my_strstr(const char* p1 , const char* p2) { assert(p1 != NULL); assert(p2 !=

额外说明

Springboot+Netty基于天翼物联网平台CTWing(AIOT)实现终端TCP协议(透传模式)-设备终端(南向设备)

电信的天翼物联网平台CTWing(AIOT)原先是我们俗称的aep,主要用于接入nb-iot设备,当然也可以接入其他的设备,在熟悉AIOT平台后,做后端的我有时候急需终端样品(智能门禁,支付识别终端,CPE终端,考勤机等)做北向订阅的应用开发,可南向设备

额外说明

学校自主研发的记忆马清理工具非常好用。

工具介绍 随着攻防演练的愈演愈烈,对抗的技术也在不断提升,在攻防演练中攻击者常常为了不留痕迹以及进行权限维持会注入内存马,在内存马中又以tomcat类型和spring类型较多。有些系统又比较关键,可能由于业务需要无法进行重启操作。所以作为苦逼的蓝队,我编

额外说明

Oracle 云服务即将登陆 PostgreSQL!

2023 年 9 月 19 日,Oracle 产品团队发布了一篇文章,宣布 Oracle 云基础架构(OCI)开始提供 PostgreSQL 服务。目前支持的版本为 PostgreSQL 14.9,提供有限支持,12 月份将会提供正式版本。 众所周知,P

额外说明

【测试必看】软件测试的七大原则,连这个都不吃透还敢说你精通?

软件测试的原则是指帮助测试团队有效地利用他们的时间和精力来发现测试项目的隐藏 bug 的指导方针。从实践和研究中总结得出以下 7 条软件测试的基本原则,以便测试人员在软件测试领域广泛应用。 一、测试证明软件存在缺陷-Testing shows prese

额外说明

基于数据库实现分布式锁

前言 随着分布式架构的广泛应用,基于分布式环境下产生的并发问题也越来越多,如在分布式环境下确保并发时的数据一致性问题成为很多开发人员亟待解决的问题 解决方案 分布式环境下,通常解决并发时数据一致性问题的方案主要是通过分布式锁进行解决。一把来说,应用部署在

额外说明

书写高性能的css

一、使用高效的css选择器 .reader p.list div{ //省去代码 } 我们看css选择器是从左边到右边看的,实际上css解析的时候是从右边到左边解析的: 1、css引擎是先查找页面中全部的div; 2、找到了div继续查找该元素是否具有l

额外说明

第十篇 GoogLeNet——模型精讲

文章目录 摘要 1、NIN (Network in Network) 网络 1.1、实现方法 2、为什么要提出Inception结构? 3、详解Block 4、详解GoogLeNet 4.1、输入层 4.2、卷积层 4.3、inception3 层 4.

额外说明

路径规划 | 图解RRT*算法(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍 1 图解RRT*算法原理 2 ROS C++算法实现 3 Python算法实现 4 Matlab算法实现 0 专栏介绍 -附C++/Python/Matlab全套代码-课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法

ads via 小工具