首页 > 编程语言 >Spring_2023_11_21_1 使用javaConfig实现DI

Spring_2023_11_21_1 使用javaConfig实现DI

时间:2023-11-21 11:34:00浏览次数:35  
标签:11 21 DI Spring Bean bboy student import com

Spring_Aop 2023_11_21_1

使用javaConfig实现DI

javaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的。javaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由程序员使用 java 自己编写的 java 类。
一个类中只要标注了@Configuration注解,这个类就可以为spring容器提供Bean定义的信息了,或者说这个类就成为一个spring容器了。
标注了@Configuration和标注了@Component的类一样是一个Bean,可以被Spring的 context:component-scan 标签扫描到。类中的每个标注了@Bean的方法都相当于提供了一个Bean的定义信息。

MySpringConfig

package com.bboy.config;

import com.bboy.dao.StudentDao;
import com.bboy.dao.impl.StudentDaoImpl;
import com.bboy.pojo.Student;
import com.bboy.service.StudentService;
import com.bboy.service.impl.StudentServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @类描述:
 * @作者:秦帅
 * @时间:2023/11/21 0021 9:13:53
 */
//-:标注此类为spring的配置类,等同于Spring  xml 核心配置文件
@Configuration

public class MySpringConfig {
//  @ Bean 等同于<bean />
    @Bean
    public Student student(){
        Student student = new Student();
        //-:属性的注入
        student.setAge(20);
        student.setName("秦帅");
        student.setSex("男");
        return student;
    }
    @Bean
    public StudentDao studentDao (){
        StudentDao studentDao = new StudentDaoImpl();
        return studentDao;
    }
    @Bean
    public StudentService studentService(){
        StudentServiceImpl studentService = new StudentServiceImpl();
        studentService.setStudentDao(studentDao());
        return studentService;
    }
}

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       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
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    <!--
       进行组件扫描,扫描含有注解的类
   -->
    <context:component-scan base-package="com.bboy.config"/>
</beans>

标签:11,21,DI,Spring,Bean,bboy,student,import,com
From: https://www.cnblogs.com/Qinyyds/p/17846187.html

相关文章

  • error:0308010C:digital envelope routines::unsupported问题解决
    问题描述:报错:Error:error:0308010C:digitalenveloperoutines::unsupported报错原因:因为node.jsV17版本中最近发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制报错详细信息:解决方案:方案1:打开IDEA终端,直接输入Linux&MacOS:exportNODE_OPTI......
  • jquery 检测div宽度变化_jquery判断浏览器宽度小于指定值改变div样式
    浏览器原本样式当浏览器宽度小于1200px时样式变为代码如下:方法一:直接修改该div样式添加w1200,会覆盖前一个样式$(function(){var_width=$(window).width();//获取浏览器宽度if(_width<1200){$(".chenbin_org").addClass("w1200");}});方法二:修改该div的class属性......
  • Android studio 打包jar包
    文章目录1、新建一个工程2、在工程中新建一个用于打包的模块3、主工程App的build中要加入依赖model4、在lib的build中编写task5、在libmodel中编写class文件6、打包jar7、jar包的调用1、新建一个工程新建一个空的工程2、在工程中新建一个用于打包的模块3、主工程App的build......
  • Android studio使用javadoc生成 api 说明文档
    文章目录1、工具下载2、实用工具添加注释3、使用该工具生成api文档4、查看生成的api文档5、帮助1、工具下载2、实用工具添加注释官方wikiTogeneratejavadocsforactiveelementpress“shift+alt+G”.Togeneratejavadocsforallelementsincurrentjavafilepre......
  • CMU15-445 project1 extendible_hash_table
    extendible_hash_tablehttps://zhuanlan.zhihu.com/p/622221722这篇文章讲了extendible_hash_table的数据插入、删除、查找的过程,看完之后可以了解global_depthlocal_depth是干什么的。简单来说,global_depth和local_depth的作用和掩码是类似的,代表目前只考虑哈希值的几个低......
  • Codeforces Round 910 (Div. 2) - D
    目录D.AbsoluteBeautyCodeforcesRound910(Div.2)D.AbsoluteBeauty观察可知,只要当交换的\(i\)和\(j\)满足$max(a_i,b_i)<min(a_j,b_j)$或者$min(a_i,b_i)>max(a_j,b_j)$......
  • 2023-11-21 {“errcode”:40029,“errmsg”:“invalid code, rid: xxx”} ==》后端保
    今天上午登一下小程序,登录失败,后端调查发现是微信登录的时候报了这个错误:{“errcode”:40029,“errmsg”:“invalidcode,rid:xxx”}原因:后端保存的appsecret和appid与前端的appid不匹配导致。解决方案:更新后端保存的appsecret和appid即可。......
  • 【转】docker安装solr8.11.1
    一、简介solr是一个基于Lucene的Java搜索引擎服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。二、docker安装Solr8.11.11、安装镜像dockerpull......
  • Redis的其他操作、celery
    Redis的其他操作'''delete(*names)exists(name)keys(pattern='*')expire(name,time)rename(src,dst)move(name,db))randomkey()type(name)'''redis的key值,最大可以是多少? #最大不超过512M一般1KBredis的value值,最大可以是多少? #最大不超过51......
  • redis介绍使用、数据类型的使用方法
    redis介绍与安装#1redis什么 -数据库就是个存数据的地方:只是不同数据库数据组织,存放形式不一样 -mysql关系型数据库(oracle,sqlserver,postgrasql)-非关系型数据(nosql):redis,mongodb,clickhouse,infludb,elasticsearch,hadoop。。。 -没有sql:没有sql语句-not......