使用Java方法配置Spring代码解析
使用Java的方式配置Spring
我们现在要完全不使用Spring的xml配置,全权使用Java来配置Spring!
JavaConfig是Spring的一个子项目,在Spring4之后,他成为了一个核心功能。
实体类:
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>标签 //方法名就相当于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中随处可见!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Spring中基于Java的配置@Configuration和@Bean用法详解
一.首先,需要xml中进行少量的配置来启动Java配置: <?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:aop="http://ww
-
java Spring Boot 配置redis pom文件操作
1.创建一个redis maven项目,在pom中添加如下信息 spring boot 版本 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> 项目相关jar配置 &l
-
在IDEA中搭建最小可用SpringMVC项目(纯Java配置)
1. 新建 SpringMVC 的 Web 项目 File - New - Project.. 勾选 SpringMVC 和 WebApplication ,点击Next 填写 Project name : hello 点击 Finish IDEA 会自动下载所需的 SpringMVC 的 jar 包 2. 代码编写 代码参考 <Spring 实战>(第四版),本文和书中代码略有差异 删除不需要的配置文件 删除 WEB-INF 下的 web.xml 删除 WEB-INF 下的 dispatch
-
Java之Spring注解配置bean实例代码解析
前面几篇均是使用xml配置bean,如果有上百个bean,这是不可想象的.故而,请使用注解配置bean !!! [1]注解类别 @Component : 基本注解, 标识了一个受 Spring(点击这里可以下载<Spring应用开发完全手册>) 管理的组件 @Repository : 标识持久层组件 @Service : 标识服务层(业务层)组件 @Controller : 标识表现层组件 Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 对于扫描到的组
-
SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解
1.导入jar包: <!--jmsTemplate--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</g
-
Spring纯Java配置集成kafka代码实例
这篇文章主要介绍了Spring纯Java配置集成kafka代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 KafkaConfig.java package com.niugang.config; import java.util.HashMap; import java.util.Map; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache
-
Spring 使用JavaConfig实现配置的方法步骤
不使用Spring的XML配置,全权交给java来做! JavaConfig是Spring的一个子项目,在Spring4之后,它称为了Spring的核心功能! 实体类: package com.lrx.poji; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; //说明这个类被Spring注册到了容器中 @Component pu
-
详解springSecurity之java配置篇
一 前言 本篇是springSecurity知识的入门第二篇,主要内容是如何使用java配置的方式进行配置springSeciruty,然后通过一个简单的示例自定义登陆页面,覆盖原有springSecurity默认的登陆页面:学习这篇的基础是 知识追寻者之前发布 过 的<springSecurity入门篇> 二 java配置 2.1配置账号密码 如下所示, 使用 @EnableWebSecurity 在配置类上开启security配置功能: 在配置类中定义bean 名为 UserDetails
-
在Spring中基于Java类进行配置的完整步骤
前言 JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 . 本文将详细介绍关于Spring中基于Java类进行配置的相关内容,下面话不多说了,来一起看看详细的介绍吧 1 定义 Bean 普通的 POJO 只要标注了 @Configuration 注解,就可以为 Spring 容器提供 Bean 的定义信息. @Configuration pub
-
使用Java方法配置Spring代码解析
使用Java的方式配置Spring 我们现在要完全不使用Spring的xml配置,全权使用Java来配置Spring! JavaConfig是Spring的一个子项目,在Spring4之后,他成为了一个核心功能. 实体类: public class User { private String name; public String getName() { return name; } @Value("huba") //属性注入值 public void setName(String n
-
Java环境配置原理全面解析
Java环境配置原理详解 1.Jdk安装目录文件说明: 一般jdk安装目录及路径 \Java\jdk1.7.0_79\lib,里面主要包含以下文件夹. bin:主要存放的是java工具中常用命令如:java,javac等. db:安装java db的路径. include:一些平台特病的头文件. jre:运行java程序所需的jre环境. lib:jdk工具命令的实际存放位置,如:bin中javac命令,实际是lib中tools.jar\sun\tools\javac中的Main.class文件
-
Java Classloader机制用法代码解析
做Java开发,对于ClassLoader的机制是必须要熟悉的基础知识,本文针对Java ClassLoader的机制做一个简要的总结.因为不同的JVM的实现不同,本文所描述的内容均只限于Hotspot Jvm. 本文将会从JDK默认的提供的ClassLoader,双亲委托模型,如何自定义ClassLoader以及Java中打破双亲委托机制的场景四个方面入手去讨论和总结一下. JDK默认ClassLoader JDK 默认提供了如下几种ClassLoader Bootstrp loader Bo
-
Java方法参数传递机制原理解析
这篇文章主要介绍了Java方法参数传递机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java方法中如果声明了形参,在调用方法时就必须给这些形参指定参数值,实际传进去的这个值就叫做实参. 这就涉及到Java中的参数传递机制,值传递. 基本数据类型 基本数据类型,值传递的体现是数值的传递. public class TransferTempTest { public static void main(String[] args) {
-
Java方法递归调用实例解析
这篇文章主要介绍了Java方法递归调用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 /* 关于方法的递归调用 1.什么是递归? -方法自身调用自身 a(){ a(){ } } 2.递归是很耗费栈内存的,递归算法可以不用的时候尽量不用 3.一下程序运行的时候发生了这样一个错误[不是异常,是错误Error]: java.lang.StackOverflowErroe 栈内存溢出错误. 错误放生无法挽回,只有一个结果,就是JVM停止工作 4
-
使用递归算法结合数据库解析成Java树形结构的代码解析
1.准备表结构及对应的表数据 a.表结构: create table TB_TREE ( CID NUMBER not null, CNAME VARCHAR2(50), PID NUMBER //父节点 ) b.表数据: insert into tb_tree (CID, CNAME, PID) values (1, '中国', 0); insert into tb_tree (CID, CNAME, PID) values (2, '北京市', 1); insert into tb_tree
-
Java中LinkedList原理代码解析
本文研究的主要是Java中LinkedList原理的相关内容,具体介绍如下. 一句话概括,Java中的LinkedList其实就是使用双向链表,LinkedList的基本操作就是对双向链表的操作. 上面可以清晰的看出,链表中每个元素对应一个节点,节点里面包含三部分,一个是前一个节点的引用,一个是元素内容,一个是后一个节点的引用. 向链表中添加元素的过程就是在链表尾部追加一个节点 void linkLast(E e) { final Node<E> l = last; final Node<
-
Java List集合方法及遍历过程代码解析
集合元素框架 public class ListDemo02 { public static void main(String[] args) { //创建集合对象 List<String> list = new ArrayList<String>(); //添加元素 list.add("hello"); list.add("world"); list.add("java"); //输出集合对象 System.out.pr
-
Java方法引用原理实例解析
目录 冗余的Lambda场景 问题分析 用方法引用改进代码 方法引用符 通过对象名引用成员方法 通过类名称引用静态方法 通过super引用成员方法 通过this引用成员方法 类的构造器引用 数组的构造器引用 总结 在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作.那么考虑 一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑? 冗余的Lambda场景 在 Printable 接口当中唯一的抽象方法 p
-
Java Iterator接口实现代码解析
Iterator接口 源代码 package java.util; import java.util.function.Consumer; /** * An iterator over a collection. {@code Iterator} takes the place of * {@link Enumeration} in the Java Collections Framework. Iterators * differ from enumerations in two ways:
随机推荐
- at命令的详细用法
- Java常见数据结构面试题(带答案)
- 详解spring mvc对异步请求的处理
- asp.net 无刷新翻页就是这么简单
- Adnroid 微信内置浏览器清除缓存
- php异常处理方法实例汇总
- MySql 5.6.35 winx64 安装详细教程
- Ubuntu Docker 的安装部署及简单应用
- JS批量操作CSS属性详细解析
- 有关C++继承与友元、继承与类型转换详解
- XML动态菜单 (二)flash
- 元宵和汤圆的区别
- SQL Function 自定义函数详解
- web基于浏览器的本地存储方法应用
- 用户IIS APPPOOL\DefaultAppPool登录失败的解决方法
- Linux(Ubuntu) adb 无法识别的问题解决方法
- 基于jQuery实现定位导航位置效果
- python实现简单登陆流程的方法
- python实现关键词提取的示例讲解
- 浅谈关于spring profile的误解