博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
________________初学spring1
阅读量:4668 次
发布时间:2019-06-09

本文共 1753 字,大约阅读时间需要 5 分钟。

javabean的的三种创建、装配

1、创建一个类实现FactoryBean接口

public class RunnableFactroyBean implments FactoryBean<Jeep>{

public Jeep getObject() throws Exception{

 return Jeep();

}

public class<?> getObjectType(){

return Jeep.class;

}

public boolean isSingleton(){

return true;

}

}

使用配置类进行RunnableFactroyBean装配

2、直接创建一个Jeep类

package com.lsq.spring;

public class Jeep {

public Jeep() {

}

}

使用配置类进行装配(也可在配置类中进行依赖注入)

@Configuration

public class MyConfig {

@Bean

@scope(”prototype”)//默认单例,此为不单例

public Jeep createJeep() {

return new Jeep();

}

}

3、创建一个Jeep类,使用注解来装配

@compnent(“myJeep”)//指定名字

@repository

@service

@controller

 

@autowired 依赖注入

@resource  JSR 250注解

 @Inject Javax inject JSR330

public class Jeep {

}

调用方法 

1、通过类型获取

System.out.println(context.getBean(Jeep.class));

context.getBeansOfType(User.class);//获取到的是一个map

 

2、通过名字调用   两种方式 1⃣️默认为方法名 2⃣️配置时指定@Bean(name="createJeep")3⃣️注解版的名字获取(类名首字母小写)

System.out.println(context.getBean(“createJeep”));

三种前置、后置通知的方式

1、创建类实现 initializingbean内置init和destroy方法

public class cat  implements InitializingBean,DisPOSableBean{

public void afterPropertiesSet () throws Exception{

  syso("前置通知");

}

public void destroy () throws Exception{

  syso("后置通知");

}

}

2、创建类,自定义init和destroy方法  (建议使用方法,依赖性最好)

装配制定init和destroy方法

@Bean(initMethod=“init”,destroy=“destroy”)

3、创建bean 并创建init和destroy方法

@PostConstruct 前置

@PreDestroy后置

依赖注入时,装配优先级 @primary

或者使用时 @qualifier("方法名")

 

 ①annotationConfigApplicationContext(类名.class)

 ②annotationConfigApplicationContext("包名")

③componentScan(basepackages="包名",excludeFilters=@Filter(type=FilterType.ASSIGNABLE_TYPE,classes=配置类.class))

④componentScan(basepackages="包名",excludeFilters=@Filter(type=FilterType.ASSIGNABLE_TYPE,classes={配置类.class,UserController.class}))

 

转载于:https://www.cnblogs.com/qiqisx/p/9330245.html

你可能感兴趣的文章
mongod
查看>>
vim配置python高亮和缩进
查看>>
Spring3.0.5 获取表中自增的主键(mysql)
查看>>
delphi dxBarManager 的dxBarEdit 输入问题
查看>>
Hadoop入门介绍一
查看>>
面试经典-分金条
查看>>
利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 1...
查看>>
ZOJ-2972-Hurdles of 110m(记忆化搜索)
查看>>
一些新了解到技术
查看>>
vue.js click点击事件获取当前元素对象
查看>>
【单调栈,单调队列】总结
查看>>
LeetCode:Gas Station
查看>>
MyBatis初识(通过小实例清晰认识MyBatis)
查看>>
面对最菜TI战队,OpenAI在Dota2上输的毫无还手之力
查看>>
XCODE快捷键和功能汇总篇(不断更新)
查看>>
Servlet开发(一)
查看>>
linux下如何查看某个容器的详细信息?
查看>>
bzoj 2843: 极地旅行社
查看>>
车林通购车之家--购车计算器模块--算法js
查看>>
webpack使用教程
查看>>