springboot创建bean
springboot创建bean的方式有两种:
1.直接类上加注解@Component@Controller@Service 。。。
2.使用@Bean注解配合@Configuration注解
区别是:
@Configuration:
允许在上下文中注册额外的bean或导入其他配置类
这个注解相当于一个xml文件.
举例1:如下的xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean class="com.User"></bean>
</beans>
在java配置里大概就是这样。
@Configuration
public class JavaConfig{
@Bean
public User user(){
return new User();
}
}
@Bean:
作用在方法上面,通常可以将该方法的返回值作为Bean注入到spring的容器中.
每个bean都有一个name值,在Configuration里面,@Bean的name就是方法名.当然你可以显式地指出bean的name,并且可以拥有多个name,如下:
@Configuration
public class JavaConfig{
@Bean({"myUser","user"})
public User user(){
return new User();
}
}
你也可以为bean设置scope等,这些属性都需要一些特定的注解,如下设置scope:这将不再是个单例
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public User user(){
return new User();
}
@Component
spring启动的时候加载的bean.
Component和Controller以及Service等这些注解没有什么区别,只是Controller/Service是一种约定,约定分别加到哪一层。
那么Component和Bean又有什么区别呢?
Component是类注解,Bean是方法注解。
Bean注解还可以让第三方包作为Bean,但是Component则不行啦。
————————————————
版权声明:本文为CSDN博主「JAVA少妇」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dmw412724/article/details/89237699
springboot创建bean的更多相关文章
- springboot根据不同的条件创建bean,动态创建bean,@Conditional注解使用
这个需求应该也比较常见,在不同的条件下创建不同的bean,具体场景很多,能看到这篇的肯定懂我的意思. 倘若不了解spring4.X新加入的@Conditional注解的话,要实现不同条件创建不同的be ...
- 手把手的SpringBoot教程,SpringBoot创建web项目(五)
这一节,我们来演示如何在SpringBoot项目中连接数据库,并且自动创建一张表. 按照惯例,数据库我们依然使用mysql,至于什么是jpa呢? jpa是sun推出的持久化规范(java persis ...
- Spring Boot 使用Java代码创建Bean并注册到Spring中
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/catoop/article/details/50558333 声明同一个类下的多个实例: packa ...
- Spring Boot 使用Java代码创建Bean并注冊到Spring中
从 Spring3.0 開始,添加了一种新的途经来配置Bean Definition,这就是通过 Java Code 配置 Bean Definition. 与Xml和Annotation两种配置方式 ...
- Spring 创建Bean的6种方式
前言 本文讲解了在Spring 应用中创建Bean的多种方式,包括自动创建,以及手动创建注入方式,实际开发中可以根据业务场景选择合适的方案. 方式1: 使用Spring XML方式配置,该方式用于在纯 ...
- Spring创建Bean的过程Debug
目录 Spring流程Debug 1.1 Spring测试环境搭建 1.2 Debug容器创建过程 1.3 AbstractApplicationContext的refresh()包含的13个方法分析 ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
- Spring 学习总结 使用静态工厂创建Bean
创建Bean时,class属性必须指定,此时为静态工厂类. factory-method指定静态工厂方法名. 接口: public interface Being { public void test ...
- Spring工厂方式创建Bean实例
创建Bean实例的方式: 1) 通过构造器(有参或无参) 方式: <bean id="" class=""/> 2) 通过静态工厂方法 方式: &l ...
随机推荐
- 【 JdbcUtils 】mysql数据库查询
JdbcUtils package k.util; import java.sql.*; import java.util.ArrayList; import java.util.HashMap; i ...
- 129、Java面向对象之static关键字一(修改static变量)
01.代码如下: package TIANPAN; class Book { // 描述的是同一个出版社的信息 private String title; // 普通属性 private double ...
- js面试代码中的“坑”
1.typeof 对类型的判断 (function() { return typeof arguments; } )(); 答案:"Object" 解释:arguments是一个伪 ...
- UniCode 速查表
unicode速查表 0000–0FFF 1000–1FFF 2000–2FFF 3000–3FFF 4000–4FFF 5000–5FFF 6000–6FFF 7000–7FFF 8000–8FFF ...
- springMVC List对象转换为json列表对象
@ResponseBody @RequestMapping("xxx.do") public List<POJO> getList(){ return List< ...
- ROS学习笔记6-理解主题
本文来源于:http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics ROS主题假设turtlesim节点已经运行,打开一个新终端,使用如下命令运行键 ...
- uni app中使用自定义图标库
项目中难免会用到自定义图标,那在uni app中应该怎么使用呢? 首先, 将图标目录放在static资源目录下: 在main.js中引入就可以全局使用了 import '@/static/icon-o ...
- 【转】stm32 IAP升级程序
一.什么是IAP,为什么要IAP IAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经 ...
- redis api-hash
- 101、Java中String类之判断是否由数字组成
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...