Java后台框架篇--Spring的三种配置方式
来源:互联网 发布:淘宝客销量有权重吗 编辑:程序博客网 时间:2024/06/06 02:11
1、Explicit configuration in XML:显示的XML配置。
优点:
1)XML配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。
2)在处理大的业务量的时候,用XML配置应该更加好一些。
缺点:
1)配置文件读取和解析需要花费一定的时间,配置文件过多的时候难以管理。
2)无法对配置的正确性进行校验,增加了测试难度。
2、Explicit configuration in Java:显示的JavaConfig,基于java类配置。
@Configuration
public class Conf {
@Scope(“prototype”)
@Bean(“loginUserDao”)
public LoginUserDao loginUserDao() {
return new LoginUserDao();
}
}
在标注了@Configuration的java类中,通过在类方法标注@Bean定义一个Bean。通过在成员变量或者方法入参处标注@Autowired按类型匹配注入,也可以使用@Qualifier按名称配置注入。
JavaConfig is the preferred option for explicit configuration
because it’s more powerful, type-safe, and refactor-friendly.
优点:
1)在class文件中,降低维护成本。
2)不需要第三方解析工具。3)编辑期就可以检验正确性,提高开发效率。
缺点:
1)配置代码过多时,直接影响代码质量,对于代码的简洁度有影响。
2)业务类之间的关系不如XML配置那样容易把握。
3)如果需要修改配置,则要重新编译整个工程。
3、Implicit bean discovery and automatic wiring:隐式的bean扫描,基于java注解配置,自动注入。
@Scope(“prototype”)
@Lazy(true)
@Component(“loginUserDao”)
public class LoginUserDao { }
@Component:标注一个普通的Spring Bean类在方法处通过@Autowired使方法入参绑定Bean,然后在方法中通过代码进行注入。
优点:
1)在class文件中,降低维护成本。
2)不需要第三方解析工具,利用java反射机制。
3)编辑期就可以检验正确性,提高开发效率。
缺点:
1)如果需要对annotation进行修改,那么要重新编译整个工程。
2)业务类之间的关系不如XML配置那样容易把握。
3)如果在程序中annotation比较多,直接影响代码质量,对于代码的简洁度有影响。
4)符合条件的多个bean注入时,spring不知道如何选择,会有异常NoUniqueBeanDefinitionException。
- Java后台框架篇--Spring的三种配置方式
- Java后台框架篇--Spring配置数据源的三种方式(dbcp,c3p0,jndi)
- Java后台框架篇--Spring应用上下文配置:Xml方式
- Java后台框架篇--Spring实现AOP的4种方式
- java框架篇---spring aop两种配置方式(1)
- java框架篇---spring aop两种配置方式
- java框架篇---spring aop两种配置方式(1)
- java框架篇---spring aop两种配置方式
- java框架篇---spring aop两种配置方式
- java框架篇---spring aop两种配置方式
- Spring框架学习【配置数据源三种方式】
- spring框架入门--三种方式配置Bean
- Spring配置数据源的三种方式
- Spring配置数据源的三种方式
- Spring配置数据源的三种方式
- spring配置datasource的三种方式
- Spring配置datasource的三种方式
- Spring配置datasource的三种方式
- 2 大数据实战系列-spark shell wordcount
- PAT 甲级 1051. Pop Sequence (25)
- Solr -- 查询语法/参数
- codeforces 514A
- [linux] ssh 防超时设置
- Java后台框架篇--Spring的三种配置方式
- Rust: codewars 的Duplicate Encoder
- JAVA网络编程--1
- 阿里云高级技术专家带你揭秘短视频解决方案
- [linux]ssh 端口转发
- Java后台框架篇--Spring高级装配
- ubuntu如何让状态栏放到屏幕下方
- RL经典mode/value/policy/step/on/off
- 3 大数据实战系列-spark shell分析日志