Spring如何将bean添加到容器中
作者:第十八使徒 发布时间:2021-08-07 08:48:06
标签:Spring,容器,bean
spring的一大功能是依赖注入 通过把javabean放入spring的ioc容器中进行统一管理
过程如图所示
最常见的例子是使用xml配置bean 把每一个<bean>元素分别转换成一个BeanDefinition对象,其中保存了从配置文件中读取到的该bean的各种信息
再通过BeanFactory对bean进行注册 关于BeanFactory请看这篇文章 https://www.cnblogs.com/aspirant/p/9082858.html
例如:
<!--配置mybatis的mapper扫描包-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="myblog.dao"></property>
</bean>
实例化一个bean 并加入容器中
有两种方法
a.在要加入容器的bean上加@component
并指定扫描该类所在的包
例如:
@Service
@Transactional
public class BlogServiceImpl implements BlogService {
@Autowired
private BlogDao blogDao;
@Override
public List<Blog> findAll() {
return blogDao.findAll();
}
@Override
public void insertUserAndBlog(Integer blogId, Integer userId) {
blogDao.insertUserAndBlog(blogId,userId);
}
@Override
public void insertBlog(Blog blog) {
blogDao.insert(blog);
}
@Override
public void update(Blog blog) {
blogDao.update(blog);
}
@Override
public void delete(Blog blog) {
blogDao.delete(blog);
}
@Override
public Blog findById(Integer id) {
PageHelper.startPage(1, 6);
return blogDao.findById(id);
}
@Override
public List<Blog> findBlogByUserId(Integer userId) {
PageHelper.startPage(1, 6);
return blogDao.findBlogByUser(userId);
}
}
b.在配置类中使用@bean进行注册
例如:
@Configuration
public class ApplicationContextConfig {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
RestTemplate restTemplate=new RestTemplate();
return restTemplate;
}
}
来源:https://www.cnblogs.com/mc-74120/p/12799377.html


猜你喜欢
- 什么是Java垃圾回收器Java垃圾回收器是Java虚拟机(JVM)的三个重要模块(另外两个是解释器和多线程机制)之一,为应用程序提供内存的
- spring @Autowired注解无法注入问题简述在使用spring框架的过程中,常会遇到这种两情况:1、在扫描的包以外使用需要使用ma
- 场景日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的
- 我本地的springboot版本是2.5.1,后面的分析都是基于这个版本 <parent> &nbs
- ViewPager介绍ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。ViewPager用于实现多页面的切换效
- 本文实例讲述了Java实现打印二叉树所有路径的方法。分享给大家供大家参考,具体如下:问题:给一个二叉树,把所有的路径都打印出来。比如,对于下
- 场景点击第一个Activity中的按钮,启动第二个Activity,关闭第二个Activity,返回到第一个Activity。在第一个Act
- springBoot框架的特点就是舍去了繁琐的配置。使开发者可以把更多的精力放在业务逻辑的开发上。springBoot搭建分三步。1.创建一
- 一、Kt调用-Java参数非null的处理@NotNullclass TestJava { public void
- Feign动态设置header和原理项目中用到了Feign做远程调用, 有部分场景需要动态配置header开始的做法是通过 @Request
- 前言上一篇我们介绍了使用 sqflite 这个数据库工具在 Flutter 的应用中建立本地数据库的实例应用。了解过数据库的同学应该会知道,
- 2011年6月iBatis 更名为 MyBatis,从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大
- 在项目中有事需要对值为NULL的对象中Field不做序列化输入配置方式如下:[配置类型]:源码包中的枚举类:public static en
- JPA连接到数据库,调用存储过程,这样的需求很常见。本文就针对这一点,讲述如何使用spring Data JPA调用存储过程的方法。1、存储
- 背景今天面试字节算法岗时被问到的问题,让我用C++实现一个softmax函数。softmax是逻辑回归在多分类问题上的推广。大概的公式如下:
- 本文实例为大家分享了Java通讯录系统的具体代码,供大家参考,具体内容如下import java.util.Scanner;class Pe
- Android使用RecyclerView1. 什么是RecyclerViewRecyclerView 是 Android-support-
- 最近使用到了maven的profile功能,发现这个功能的确很好用也很实用,这块的知识比较多也比较乱,其实真正理解了之后非常简单,为了巩固总
- 一、扫雷扫雷小游戏主要是利用字符数组、循环语句和函数实现。设计思路:雷盘大小为9*9,但是为了后续能更好的统计出雷的个数在定义数组的时候定义
- 1、不要为抽象类提供公开的构造方法抽象类可以有构造方法,但是抽象类不能实例化。如果编程人员没有制定构造方法,编译器会自动生成一个默认的pro