Spring配置文件结构对于生成Bean的影响 有段时间忙于毕设,导致Spring学习的东西忘了很多,所以最近又开始从头看Spring的基础.基础的Bean的装配不再多说了.这一次,主要是深入一点了解Spring配置文件结构搭配对于Bean装配的影响. 首先,我们设定一个简单的场景:播放器播放歌曲.所以基于此,我们定义两个接口: package demo; // CD接口 public interface CompactDisc { void play(); } package demo; //…
简介 Spring框架是一个容器,是整合其他框架的框架 他的核心是IOC(控制反转)和AOP(面向切面编程),由20多个模块构成,在很多领域都提供了优秀的问题解决方案 特点 轻量级:由20多个模块构成,每个jar包都很小,小于1M,核心包也就3M左右 代码污染小:Spring框架对程序员开发时的条条框框的约束较少,对代码的污染小 面向接口编程:面向接口编程,灵活性高,项目的可扩展性和可维护性都较高 AOP:面向切面编程,将公共的,通用的,重复的代码单独开发,在需要时反织回去 示例: 示例分析:在…
Spring配置方式 第一阶段:xml配置     在spring 1.x时代,使用spring开发满眼都是xml配置的bean,随着项目的扩大, 我们需要把xml配置文件分放到不同的配置文件中,那时候需要频繁地在开发的类和配置文件间切换. 第二阶段:注解配置     在spring 2.x时代,随着JDK1.5带来的注解支持,spring提供了声明bean的注解, 大大减少了配置量.这时spring圈子存在一种争论:注解配置和xml配置究竟哪个更好?我们最终的选择是应用 的基本配置用xml,业…
让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架是Spring Boot,目前面临的问题也是在Spring Boot中出现的. 具体情况是这样的,期望是搭建一个公用的框架,适用于多种业务场景的,集成好如Redis,日志管理,定时任务管理等一系列配置即用的框架,但是在集成好Activiti框架后我发现有的项目并不需要使用Activiti框架,但是由…
在分析Spring 容器创建过程时,我们知道容器默认会加载一些后置处理器PostPRocessor,以AnnotationConfigApplicationContext为例,在构造函数中初始化reader时,加载默认后置处理器.其中 ConfigurationClassPostProcessor这个后置处理器专门处理带有@Configuration注解的类,ConfigurationClassPostProcessor后置处理实现了BeanDefinitionRegistryPostProce…
spring配置类,即在类上加@Configuration注解,使用这种配置类来注册bean,效果与xml文件是完全一样的,只是创建springIOC容器的方式不同: //通过xml文件创建springIOC容器ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring-beans.xml"); //通过配置类创建springIOC容器 ApplicationContext ap…
通过注解装配 Bean 1.前言 优势 1.可以减少 XML 的配置,当配置项多的时候,XML配置过多会导致项目臃肿难以维护 2.功能更加强大,既能实现 XML 的功能,也提供了自动装配的功能,采用了自动装配后,程序猿所需要做的决断就少了,更加有利于对程序的开发,这就是"约定优于配置"的开发原则 IOC发现Bean的两种方式 组件扫描:通过定义资源的方式,让 Spring IoC 容器扫描对应的包,从而把 bean 装配进来. 自动装配:通过注解定义,使得一些依赖关系可以通过注解完成.…
Main(测试方法) public class Main { public static void main(String[] args) { //1.创建Spring 的IOC容器对象: //spring提供了两种IOC容器的实现 //1.BeanFactory:面向spring本身,,(就是底层的东西) //2.ApplicationContext: 面向使用spring框架的开发者,她提供了更多高级特性,是BeanFactory的子接口 // ----ConfigurableApplica…
今天碰到一个问题,写了一个@Service的bean,类名大致为:BKYInfoServcie.java dubbo export服务的配置: <dubbo:service interface="com.xxx.XxxService" ref="bKYInfoServcie" /> 结果启动报错:找不到名为bKYInfoServcie的bean bean的名字不是我预期的"bKYInfoServcie",临时将bean的名字指定成了b…
解决spring配置中的bean类型的问题:BeanNotOfRequiredTypeException这个问题出现的原因:一般在使用annotation的方式注入spring的bean 出现的,具体是由于spring采用代理的机制导致的,看使用的代码: Java代码 1. 使用类注入: @Resource(name = "aisleService") private AisleService aisleService; 2. 使用接口注入: @Resource(name = &quo…