spring java code配置_Spring-09-使用Java的方式配置Spring

9. 使用Java的方式配置Spring

我们现在要完全不使用Spring的xml配置,全权使用Java来配置Spring!

JavaConfig是Spring的一个子项目,在Spring4之后,他成为了一个核心功能。

37af0d27ccdd89e21cb5c0067d7227da.png

实体类:

public class User {

private String name;

public String getName() {

return name;

}

@Value("huba") //属性注入值

public void setName(String name) {

this.name = name;

}

}

配置类:

package com.kuang.config;

import com.kuang.pojo.User;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.Import;

@Configuration //这个也会spring容器托管,注册到容器中,因为他本来就是一个@Component

//@Configuration:代表这个一个配置类,就等同于beans.xml

@ComponentScan("com.kuang.pojo")

@Import(MyConfig2.class)

public class MyConfig {

//注册一个bean,就相当于我们之前写的标签

//方法名就相当于bean标签中的id

//方法的返回值就相当于bean标签中的class属性

@Bean

public User user(){

return new User();//就是返回要注入bean的对象

}

}

测试类:

import com.kuang.config.MyConfig;

import com.kuang.pojo.User;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class myTest {

@Test

public void test(){

//如果完全使用配置类方式,只能通过AnnotationConfigApplicationContext获取容器,通过配置类的class对象加载!

ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);

User user = context.getBean("user", User.class);

System.out.println(user.getName());

}

}

这种纯Java的配置方式,在SpringBoot中随处可见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pythone函数基础(11)读,写,修改EXCEL

#读EXCEL需要导入xlrd模块---在python控制台pip install xlrd模块import xlrdbook xlrd.open_workbook(stu3.xls)sheet book.sheet_by_index(0)# sheet book.sheet_by_name(sheet1)# print(sheet.cell(0,0).value)#获取指定单元格的内容# print(sheet.cell(1,0).value)# pri…

强大的vim配置文件,让编程更随意

花了很长时间整理的,感觉用起来很方便,共享一下。 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C、C、java代码以及执行shell脚本,按“F8”可进行C、C代码的调试 2.自动插入文件头 ,新建C、C源文件时自动插…

java工程转maven工程_将java工程转换为Maven工程

1、创建一个Java工程,如下图所示:2、选中此工程 -> 右键 -> Configure -> Convert to Maven project。出现如下的截图:3、点击之后会弹出对话框,如下图所示:4、直接点击完成即可,此时会在java工程…

2019/4/17 Linux学习

一、Linux的文件系统 其中/prov、/srv、/sys 文件为文件系统,技术不过硬不要去修改;二、关于Xshell、Xft1、服务器的端口可有65535个可设置,开的越多安全性越差;2、远程登录主机时,会有一个sshd程序,22端口…

使用“另类” Cloud Foundry Gradle插件无需停机

我一直在尝试我的手在写一个gradle这个插件的应用程序部署到Cloud Foundry上 ,并写下这个插件在我以前的帖子 。 我现在通过使用两种方法支持将无停机时间部署到Cloud Foundry中来增强此插件: 自动驾驶风格部署和更常用的蓝绿色风格部署 。 要完全了解该…

UNIX网络编程 卷2 源代码使用

1. 下载源码,W. Richard Stevens的主页:http://www.kohala.com/start/wget http://www.kohala.com/start/unpv22e/unpv22e.tar.gz -P /usr/local/src 2. 解压tar xvf /usr/local/src/unpv22e.tar.gz -C /root/bin 3. 编译库文件cd /root/bin/unpv22e/ .…

语言工程中有趣的事情

如果您阅读此博客,您将知道我坚信语言的力量。 因此,我当然有很大的偏见,但是我感觉语言工程社区正在增长,并且越来越有趣的东西正在涌现。 为此,我认为通过查看社区中正在发生的事情并列出一些我发现有趣的事情来结束…

操作 实例 / dom

响应式:数据改变时会触发其他联动。例如:模板中的数据绑定;计算属性的重新计算;———————————————————————————————————————————————————— vm.$parent $parent 属性可以用来从…

sql注入程序_Java应用程序中SQL注入

sql注入程序在本文中,我们将讨论什么是SQL注入攻击。 以及它如何影响任何Web应用程序使用后端数据库。 在这里,我专注于Java Web应用程序。 开放Web应用程序安全性项目(OWAP)列出了SQL注入是Web应用程序的主要漏洞攻击。 黑客将We…

C++设计模式-Prototype原型模式

作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype模式提供了一个通过已存在对象进行新对象创建的接口(Clone), Clone()实现和具体的语言相关,在C中通过拷贝构造函数实现。…

[SHOI2008]cactus仙人掌图

Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 举例来说,上面的第一…

java 导入导出txt文件_Java读取和写入txt文件

1 问题描述对于java的读取和写入txt一直心存疑惑,随着知识的积累,又重新进行学习,对java的文件读写理解更加深刻,在这里将自己的小小经验总结分享给大家。下面是大家了解java流的一个基本框架。2 问题分析在java中,jav…

[国家集训队] tree Ⅱ

bzoj2631(权限题。。。):链接 落咕:链接 考察的是LCT维护链上信息。 但是这个题不一样的是又有加法又有乘法。。。(有木有想到落咕的模板——线段树2qwq) 因为乘法的运算优先度比加法高,所以我们要先做乘法再做加法&am…

C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说&#xff0c;它们之间的复制是很简单的&#xff0c;例如&#xff1a; int a88; int ba; 而类对象与普通对象不同&#xff0c;类对象内部结构一般较为复杂&#xff0c;存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream>u…

java用for循环修改密码_Java for循环的几种用法分析

J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环&#xff0c;可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式&#xff0c;说明如何自行定义能被这样遍历的类&#xff0c;并解释和这一机制的一些常见问题。在Java程序中&…

apache camel_Apache Camel入门

apache camel在先前的博文中&#xff0c;我们了解了企业集成模式&#xff08;EIP&#xff09;。 现在&#xff0c;在这篇文章中&#xff0c;我们将研究实现这些模式的Apache Camel框架。 关于骆驼&#xff1a; Apache Camel是一个开放源代码项目&#xff0c;已有将近5年的历史…

C++拷贝构造函数详解

一. 什么是拷贝构造函数 首先对于普通类型的对象来说&#xff0c;它们之间的复制是很简单的&#xff0c;例如&#xff1a; [c-sharp] view plaincopyint a 100; int b a; 而类对象与普通对象不同&#xff0c;类对象内部结构一般较为复杂&#xff0c;存在各种成员变量。 …

mysql经典总结文章_MySQL基础篇(01):经典实用查询案例,总结整理

一、连接查询图解示意图1、建表语句部门和员工关系表&#xff1a;CREATE TABLE tb_dept (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键ID,deptName varchar(30) DEFAULT NULL COMMENT 部门名称,PRIMARY KEY (id)) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8;CREAT…

针对故障场景的血液,汗液和书写自动集成测试

去年冬天&#xff0c;我为仍在工作的客户编写并发布了一项服务。 总体而言&#xff0c;该服务满足了业务需求和性能要求&#xff0c;但是使用该服务的一个团队告诉我&#xff0c;他们定期遇到一个问题&#xff0c;该问题是该服务将返回500个错误&#xff0c;并且在重新启动该服…

java 8 update 11_从Java 8升级到Java 11应该注意的问题

从 Java 8迁移到Java 11比大多数升级更棘手。以下是这个过程的一些注意事项。模块在Java 9中Java引入了历史上最大的变化之一 是模块&#xff0c;但&#xff1a;不必将你自己的代码模块化以后才能升级到Java 11。在大多数情况下&#xff0c;放在类路径classpath上的代码能继续在…