1、新建RunnableFactoryBean

 package com.spring4.pojo;

 import org.springframework.beans.factory.FactoryBean;

 /**
* Created by liuya
*
* @author User: liuya
* Date: 2018/5/3
* Time: 23:31
* projectName:spring4
*/
public class RunnableFactoryBean implements FactoryBean<Runnable> { /**
* 获取FactoryBean获取的实例对象
*
* @return Runnable
* @throws Exception
*/
@Override
public Runnable getObject() throws Exception {
return () -> {
};
} /**
* 创建什么类型的对象
*
* @return Class<?>
*/
@Override
public Class<?> getObjectType() {
return Runnable.class;
} /**
* 是不是单例的
*
* @return
*/
@Override
public boolean isSingleton() {
return true;
}
}

2、加载到Myconfig中

 package com.spring4.conf;

 import com.spring4.pojo.RunnableFactoryBean;
import com.spring4.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope; /**
* Created by liuya
*
* @author : liuya
* Date: 2018/5/2
* Time: 23:50
* projectName:spring4
* 配置类
*/ @Configuration
public class SpringConf { /**
* 配置bean 写一个方法,返回bean
* <p>
* 指定名字,默认是方法名字
*/
@Bean(name = "getUser")
/**
* 修改为非单例模式,创建的对象就是不一样的了
*
*/
@Scope(value = "prototype")
public User getUser() {
User user = new User();
user.setAge(29);
user.setUserName("王圆圆");
user.setPassWord("1110000"); return user;
} @Bean
public RunnableFactoryBean createRunnableFactoryBean() {
RunnableFactoryBean runnableFactoryBean = new RunnableFactoryBean(); return runnableFactoryBean; } }

3、方法加入Application测试

 package com.study.spring;

 import com.spring4.conf.SpringConf;
import com.spring4.pojo.RunnableFactoryBean;
import com.spring4.pojo.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.io.IOException;
import java.util.List; /**
* @author liuyang
*/
@SpringBootApplication
public class Spring4Application { public static void main(String[] args) {
// 通过Java配置来实例化Spring容器
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConf.class); // 在Spring容器中获取Bean对象
User user = context.getBean(User.class); //根据名字获取(默认是根据方法名字获取)
Object user2 = context.getBean("getUser"); System.out.println(user.getUserName() + ", " + user.getAge() + ", " + user.getPassWord());
System.out.println(user2.toString() + ", ");
String list = user2.toString();
String[] ont = list.split(",");
for (int i = 0; i < ont.length; i++) {
System.out.println(ont[i]);
} RunnableFactoryBean runnableFactoryBean = context.getBean(RunnableFactoryBean.class); try {
System.out.println("createRunnableFactoryBean :"+runnableFactoryBean);
} catch (Exception e) {
e.printStackTrace();
} // 销毁该容器
context.destroy();
}
}

IntelliJ IDEA 2017版 Spring5 的RunnableFactoryBean配置的更多相关文章

  1. IntelliJ IDEA 2017版 Spring5最基本的bean例子创建

    一.简述         SpringBoot是基于spring框架之上的快速开发的框架.Spring4核心就是容器,容器提供了对bean的装配和管理.       spring依赖加载:       ...

  2. IntelliJ IDEA 2017版 SpringBoot的核心配置详解

    Spring Boot的核心   (1)Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法.  (2)@Spri ...

  3. IntelliJ IDEA 2017版 Spring5 java.lang.NoSuchMethodError: org.springframework.boot.SpringApplication.<init>([Ljava/lang/Object;)V

    错误是java.lang.NoSuchMethodError: org.springframework.boot.SpringApplication.<init>([Ljava/lang/ ...

  4. IntelliJ IDEA 2017版 spring-boot加载jsp配置详解(详细图文实例)

    一.创建项目 (File--->New-->Project) 2.项目配置内容 3.选择配置项目的Group包名,Artifact项目名称 4.选择项目类型为web类型 5.创建成功,点击 ...

  5. IntelliJ IDEA 2017版 spring-boot2.0.4的yml配置使用

    一.必须配置字端两个 server: port: 8080 servlet: context-path: /demo 二.两种mvc转换springboot,一种是注解,一种就是.yml或proper ...

  6. IntelliJ IDEA 2017版 SpringBoot的关闭自动配置和自定义Banner

    一.关闭自动配置 在jar包下找下边的名字    设置关闭自动配置jar    多个的时候配置       二.自定义Banner   (1)网站搜索一个图案.网址:http://patorjk.co ...

  7. IntelliJ IDEA 2017版 spring-boot修改端口号配置把端口号改为8081

    1.修改端口号主要是通过配置文件修改.如图: 完整版配置 ######################################################## ###server 配置信息 ...

  8. IntelliJ IDEA 2017版 spring-boot2.0.2 自动配置Condition

    描述: 编译器修改参数      -Dfile.encoding=GBK     -Dstr.encoding=GBK Condition位置: 某一个类或注解存在的时候,装配,否则不装配 相关代码: ...

  9. IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例 (三)

    一.搭建SpringBoot项目 详见此文:https://www.cnblogs.com/liuyangfirst/p/8298588.html 注意: 需要添加mail依赖的包,同时还添加了lom ...

随机推荐

  1. windows 2012安装不了KB2919355

    直接安装KB2919355会报错 “此更新不适用于你的计算机” 此时应先安装 KB2919442 https://www.microsoft.com/zh-cn/download/confirmati ...

  2. .“代理XP”组件已作为此服务器安全配置的一部分被关闭的解决办法

    “代理XP”组件已作为此服务器安全配置的一部分被关闭.系统管理员可以使用sp_configure来启用“代理XP”.有关启用“代理XP”的详细信息,请参阅SQL Server联机丛书中的“外围应用配置 ...

  3. mysql 数据库名称,中间带有中划线问题

    插入数据时候,引用了数据库名,数据库名中有横线,会提示错误: You have an error in your SQL syntax; check the manual that correspon ...

  4. Git下基本命令操作

    提前准备好一个文件夹,并且进入该文件夹. 1.clone Github 上的Repository,如: git clone git@github.com:Git账号用户名/项目名称.git 2.仓库初 ...

  5. selenium去掉下载弹窗

    from selenium import webdriver import time import urllib2 class Download(): def __init__(self): self ...

  6. avalon 如何隐藏首屏加载页面时出现的花括号

    页面添加样式 .ms-controller{ visibility: hidden } 使用在ms-controller, ms-important的元素上加上这个ms-controller类名 &l ...

  7. PhotoSphereViewer 全景图

    1网站地址:http://photo-sphere-viewer.js.org/markers.html#demo 2参数中文地址:https://www.cnblogs.com/big-tree/p ...

  8. sql:inner join,left join,right join,full join用法及区别

    join的语法: select [字段] from [表名1] inner/left/right/full join [表名2] on [表名1.字段1] <关系运算符> [表名2.字段2 ...

  9. BPF+XDP比较全的资料都在这里

    Dive into BPF: a list of reading material Sep 1, 2016 • Quentin Monnet◀Table of contents What is BPF ...

  10. Android.Tools.Summary

    Android平台上工具的总结 每个工具的详细使用和深入理解参考每个工具相关的blog. 1. Android SDK中提供的工具 http://developer.android.com/tools ...