spring 干嘛用的,记录。以后用多了再补充

http://zhidao.baidu.com/link?url=TVePPDbQU1n61s_Bu2FT9_YoJebaux8tYlNEZQhiHYHpT8QIbbyOSC8wDnpVmnmurwNntgNpRqwFkMcu8U9K8K

其实我一开始也好楼主有同样的困惑,但是在项目的慢慢积累,感觉spring的配置文件太有才了

我就和你分享一点:那就是软件的后期维护

比如说有一个订单的DAO接口:interface OrderDAO

在开发的时候我是用的MySql数据库,实现类为  class MySqlOrderDAOImpl implements OrderDAO

在业务代码里面,我要使用OrderDAO,这没什么难的,直接new一个对象不就行了吗,于是我就这样了:

OrderDAO dao = new MySqlOrderDAOImpl();

轻松完成,最后项目完成,实施运营了,后来客户发现MySql不行了,要换成Oracle,这不难,我在写一个OrderDAO的实现类不就行了吗,于是我两指一挥:

class OracleOrderDAOImpl implements OrderDAO

可是这样就又来了一个麻烦就是在我的业务代码里面,我都是自己new的对象,都是“MySqlOrderDAOImpl”,

没问题,把 “MySqlOrderDAOImpl” 替换成”OracleOrderDAOImpl “就可以了

于是,全体动员,查找“MySqlOrderDAOImpl”然后替换成”OracleOrderDAOImpl “,这样浪费了半天,还可能有些地方还没替换呢

=============================================

后来就想到了spring的Ioc,在配置文件里配置OrderDAO的实现类就可以了,只要OrderDAO的有新的实现类,我只是在配置文件中修改一下就可以了,大概需要几秒钟吧,时间太快,没法计算啊(呵呵)

不带Ioc :http://blog.csdn.net/tydldd1/article/details/8107786Aop:http://www.blogjava.net/javadragon/archive/2006/12/03/85115.html
时间: 2024-10-17 02:02:45

spring 干嘛用的,记录。以后用多了再补充的相关文章

剑指架构师系列-spring boot的logback日志记录

Spring Boot集成了Logback日志系统. Logback的核心对象主要有3个:Logger.Appender.Layout 1.Logback Logger:日志的记录器 主要用于存放日志对象,也可以定义日志类型.级别. 级别:ERROR.WARE.INFO.DEBUG和TRACE.没有FATAL,归纳到了ERROR级别里.ERROR.WARN and INFO level messages are logged by default. 在Spring Boot中,最好定义为logb

spring保存一条数据库记录

package com.yjm.pojo; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.

Spring AOP实例——异常处理和记录程序执行时间

实例简介: 这个实例主要用于在一个系统的所有方法执行过程中出线异常时,把异常信息都记录下来,另外记录每个方法的执行时间. 用两个业务逻辑来说明上述功能,这两个业务逻辑首先使用Spring AOP的自动代理功能,然后一个用Java的动态代理,一个用CGLIB代理. 实现思路: 首先定义负责异常处理的Advice:ExceptionHandler.java,定义记录程序执行时间的Advice:TimeHandler.java 然后定义业务逻辑接口LogicInterface.java,编写实现业务逻

用idea编译Spring源码错误问题记录

相关参考网站: 1.spring源码导入出错 CoroutinesUtils报错 2.spring源码构建时缺失spring-cglib-repack和spring-objenesis-repack的正确处理姿势 3.IDEA导入Spring5.x 编译流程 解决编译符号报错 第二篇 最近在阅读<Spring源码深度解析(第2版)>-郝佳 这本书,第一章就是源码环境搭建,从github上把spring拉下来进行编译,除了书中遇到的问题外,还遇到了其他的问题,这里做个记录. idea版本: sp

JAVA spring hibernate 多数据源配置记录

数据源配置 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.spri

spring aop 方法增加日志记录

使用场景: 1:调用外部接口时需要记录出参和入参. 2:分布式系统之间,调用各个系统之间需要记录日志,一旦出现了问题也可以找得到元数据 一言不合,上代码: # 枚举类 1 package xxxxxxxxxx; 2 3 import java.lang.annotation.ElementType; 4 import java.lang.annotation.Retention; 5 import java.lang.annotation.RetentionPolicy; 6 import ja

Spring MVC 返回Json数据环境记录

Spring 版本 Spring4.3.18 Json包  jackson-annotations-2.9.8.jar jackson-core-2.9.8.jar           jackson-databind-2.9.8.jar     亲测用2.1.4版本的包会报错,添加完json后,不需要进行任何配置 原文地址:https://www.cnblogs.com/fukua123/p/10567295.html

关于Spring Cloud Feign的一些记录!

学习Spring Cloud Feign过程中,相关资料都会反复强调:微服务调用的话(@FeignClient)  客户端方法的返回值和服务端方法的返回值还有方法名之类的都是要求一致的! 关于方法名是否一致经过验证,其实不是必须的,只要路径映射一直就可以了! feign客户端: @Autowired private EurekaServiceFeign eurekaServiceFeign; @GetMapping("/hello/{name}") @ResponseBody @Hys

spring中的JdbcTemplate简单记录

JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修改.删除等语句:batchUpdate方法用于执行批处理相关语句: query方法及queryForXXX方法:用于执行查询相关语句: call方法:用于执行存储过程.函数相关语句. JdbcTemplate类支持的回调类: 预编译语句及存储过程创建回调:用于根据JdbcTemplate提供的连接创