Bean配置
1、xml配置(摘抄自:https://www.cnblogs.com/zyx1301691180/p/7665971.html)
一、setter方法配置Bean:
1、创建一个 Spring Bean Configuration File
2、配置Bean代码:
<bean id="address" class="com.spring.xmlBean.Address"></bean> <bean id="person" class="com.spring.xmlBean.Person"></bean>
3、给Bean配置属性:
<!-- 添加 Address 和 Person -->
<bean id="address" class="com.spring.xmlBean.Address">
<property name="city" value="日照"></property>
<property name="province" value="山东"></property>
</bean>
<bean id="person" class="com.spring.xmlBean.Person">
<property name="name" value="Little-Koala"></property>
<property name="age" value="18"></property>
<!-- 通过 ref 引用了 address 这个 bean -->
<property name="address" ref="address"></property>
</bean>
二:构造器配置Bean
<bean id="address" class="com.spring.xmlBean.Address">
<constructor-arg name="city" value="日照"></constructor-arg>
<constructor-arg name="province" value="山东"></constructor-arg>
<!--
<property name="city" value="日照"></property>
<property name="province" value="山东"></property>
-->
</bean>
2、基于注解的配置
一:注解解析
@Component 是通用标注
@Controller 标注 web 控制器
@Service 标注 Servicec 层的服务
@Respository 标注 DAO 层的数据访问
二:注解配置Bean
使用注解配置bean时候,并没有指定bean的id,那么Spring帮我们创建 bean时候会给一个默认的id,id为类名首字母小写
当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致
@Service("beanFactory") public class BeanFactroyImpl implements BeanFactory {
@Autowired
private UserRepository userRepository;}
@Component
public class LogonService {}
三:配置文件
需要在applicationContext.xml文件中加一行,作用是自动扫描base-package包下的注解:
<context:component-scan base-package="com.stonegeek" />
3、java代码配置
通过java类定义spring配置元数据,且直接消除xml配置文件
Spring3.0基于java的配置直接支持下面的注解:
@Configuration、@Bean、@DependsOn、@Primary、@Lazy、@Import、@ImportResource、@Value
使用java配置的方式,那么就不需要在类上写注解了,直接在配置类里面进行申明即可:
@Configuration // 通过该注解来表明该类是一个Spring的配置,相当于一个xml文件
public class CDPlayConfig {
@Bean // 通过该注解来表明是一个Bean对象,相当于xml中的<bean>,默认情况下,bean的ID与带有@bean注解的方法名一样
public CompactDisc sgtPeppers(){
return new SgtPeppers();// 直接new对象做演示
}
@Bean
public CDPlayer cdPlayer() {//由于@Bean注解的存在,却是阻止了方法的调用,直接返回该方法创建的实例对象SgtPapers
return new CDPlayer(sgtPeppers());
}
@Bean public CDPlayer cdPlayer(CompactDisc compactDisc){ //传入一个CompactDisc对象,通过构造器完成注入 return new CDPlayer(compactDisc); }
@Bean
public CDPlayer cdPlayer(CompactDisc compactDisc){ //setter属性的注入
CDPlayer cdPlayer=new CDPlayer(compactDisc);
cdPlayer.setCompactDisc(compactDisc);
return cdPlayer;
}}
4、混合配置
@Import注解,将两个配置类组合在一起,组成一个新的配置类
@Configuration
@Import({CDConfig.class,CDPlayerConfig.class})
public class SoundSystemConfig {
}
@ImportSource注解,将配置文件和XML共同的加载到Spring文件中
XML 中引入JavaConfig

Bean配置的更多相关文章
- 基于注解的bean配置
基于注解的bean配置,主要是进行applicationContext.xml配置.DAO层类注解.Service层类注解. 1.在applicationContext.xml文件中配置信息如下 &l ...
- Spring中常用类型的bean配置(Map,List,Set,基本类型)
给自己做个笔记... 有时会用到配置文件中配置一下映射关系,方便以后扩展.此时可采用集合类型的bean配置方式配置.程序中直接注入即可. map类型的: <!-- 旧版方式,无需util包 -- ...
- [原创]java WEB学习笔记101:Spring学习---Spring Bean配置:IOC容器中bean的声明周期,Bean 后置处理器
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Spring Bean配置2
Spring表达式语言:SpEL •Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言. •语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框 ...
- Spring Bean配置
Spring 是什么 •Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. •Spring 是一个 IOC(DI) 和 ...
- spring中bean配置和bean注入
1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...
- 继承 Bean 配置
继承 Bean 配置 Spring 允许继承 bean 的配置, 被继承的 bean 称为父 bean. 继承这个父 Bean 的 Bean 称为子 Bean子 Bean 从父 Bean 中继承配置, ...
- Spring 中的 Bean 配置
内容提要 •IOC & DI 概述 •配置 bean –配置形式:基于 XML 文件的方式:基于注解的方式 –Bean 的配置方式:通过全类名(反射).通过工厂方法(静态工厂方法 & ...
随机推荐
- Java 多线程之生产者消费者(多个生成者多个消费者)synchronized 和lock多线程通讯和同步实现
public class ProducterConsumerSample { public static void main(String[] args) { Resourse res = new R ...
- django celery 异步执行任务遇到的坑
部署后,任务没有持久化,所有用supervisor 进行进程管理 安装 pip install supervisor 创建 配置文件 [program:testplatform-flower] com ...
- 2019SDN上机第4次作业
一.作业要求 1.解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 2.启动并安装插件 3.用Python脚本搭建给定的拓扑,并连接OpenDayLight控制器 4. ...
- MiniUI表单验证总结
原文地址:https://www.cnblogs.com/wllcs/p/5607890.html 1,页面效果图 2,代码实现 <!DOCTYPE html PUBLIC "-/ ...
- jvm 命令使用调优 通过jstat、jmap对java程序进行性能调优
转载:http://blog.csdn.net/jerry024/article/details/8507589 转载: https://blog.csdn.net/zhaozheng7758/art ...
- osgearth 编译日志
1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake does n ...
- 零基础学Python-第二章 :Python基础语法-05.基础数据类型
打开终端,输入python3,这就进入了python的命令提示符. 输入type(8),返回的是int类型.用来type来判断当前的是什么类型. 字符串8转int类型. 数字123转字符串 布尔类型的 ...
- STM32---喜提点灯
一:编译第一个程序 int main() //主函数 { } void SystemInit() //在执行主函数前,会被调用.不进行实现.在启动文件中被调用 { } ; Reset handler ...
- 【428】Dijkstra 算法
算法思想:(单源最短路径) 1个点到所有其他点的最短路径 查找顶点到其他顶点的最短路径,无法到达的记为+∞,找到最小的,就找到了最短路径的顶点 查看上一轮找到的最小点到达其他点的最小值,找到最短路径的 ...
- lombok 插件安装使用
Lombok是一个Java库,它自动插入编辑器并构建工具,为Java添加香料.永远不要再编写另一个getter或Eques方法,您的类有一个功能齐全的构建器,可以自动化您的日志变量以及更多的注释. 官 ...