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. gradle项目与maven项目互转

    maven to gradle 在maven项目根目录下执行命令: gradle init --type pom 当然你得先下载Gradle,配置完环境变量. gradle to maven grad ...

  2. win8 IIS配置

    iis发展到win8已经到是iis8.0了.至于如何安装的,咱们接下来看.大体和iis6安装差别不大.iis8安装起来也是很方便的. 1.打开“控制面板”——“程序和功能”.如下图所示 2.点击“启用 ...

  3. 在pom.xml中引入jar包坐标的依赖范围

    A依赖B,需要在A的pom.xml文件中添加B的坐标,添加坐标时需要指定依赖范围,依赖范围包括: compile:编译范围,指A在编译时依赖B,此范围为默认依赖范围.编译范围的依赖会用在编译.测试.运 ...

  4. Three.js粒子特效,shader渲染初探(一篇非常详细的介绍)

    Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多 ...

  5. Java开发MIS系统需要的技术及其作用

    1.后台框架部分,常用spring.struts2(Struts2框架,提供了一种基于MVC体系结构的工程序的开发方法,具有组件模块化.灵活性和重用性等优点,使基于MVC模式的程序结构更加清晰,同时也 ...

  6. 6.MySQL图形化工具的使用

    6.图形化工具的使用6.1 Mysql Workbench Mysql Workbench是Mysql官方推出的集成图形化工具,替代了之前的图形化管理工具Mysql Administrator和图形化 ...

  7. mtcp的快速编译(连接)

    mtcp的快速编译 http://mos.kaist.edu/guide/config/03_build_mtcp.html 介绍DPDK中使用mtcp的文档 https://dpdksummit.c ...

  8. 201621123008 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书馆管理系统或购物车. 2.1 简述如何 ...

  9. sex在软件开发中的运用--SIX技术

    开篇:省略xxx字 keyword:sex . female, male .SIX ,sex integer extention technolgolsl 前言: 对于sex字段的研究,国内,国际尚为 ...

  10. office 2007,SQL Server 2008,VS2010安装步骤

    office 2007,SQL Server 2008,VS2010的安装顺序是不是office 2007,SQL Server 2008,VS2010呢? 前几天先安装了SQL Server 200 ...