java 老系统升级 换掉原有类的小方法和有用的注解

不能换掉原有代码,如果有接口的话就更好了,没有接口最好加个接口!这个时候才理解接口的好处额!

用注解来升级

package com.crm.net.constant;

public class Comm {
	/** 切换用户中心实现   需切注解 bean **/
	 //public static final String SWITCH_IMPLE = ""; // 为空默认为老系统
	  public static final String SWITCH_IMPLE = "NetImpl";

	/** 用户中心 系统id **/
	public static final String SYS_ID = "1";

}
	@Resource(name = "menuDao" + Comm.SWITCH_IMPLE)
	private IMenuDao menuDao;
/**
 * 用户中心数据切换到.net管理
 *
 * @author
 * @since 1.0
 * @deprecated Please migrate to {@link com.crm.net.dao.impl.MenuDaoNetImpl} for
 *             crm 2.x.
 */

@Deprecated
@Repository("menuDao")
public class MenuDao implements IMenuDao {
/**
 *
 * @author liangrui
 * @date 2015/01/19
 * @since 2.0
 *          netApi 获取菜单列表实现
 *
 */
@Repository("menuDaoNetImpl")
public class MenuDaoNetImpl implements IMenuDao {

有用的注解,参考jackson的一点

/**
 * Implementation of {@link org.springframework.http.converter.HttpMessageConverter HttpMessageConverter} that
 * can read and write JSON using <a href="http://jackson.codehaus.org/">Jackson 1.x's</a> {@link ObjectMapper}.
 *
 * <p>This converter can be used to bind to typed beans, or untyped {@link java.util.HashMap HashMap} instances.
 *
 * <p>By default, this converter supports {@code application/json}. This can be overridden by setting the
 * {@link #setSupportedMediaTypes supportedMediaTypes} property.
 *
 * <p><b>NOTE:</b> Requires Jackson 1.8 or higher, as of Spring 4.0.
 * At the same time, we strongly recommend a migration to Jackson 2.x!
 *
 * @author Arjen Poutsma
 * @author Juergen Hoeller
 * @since 3.0
 * @deprecated Please migrate to {@link MappingJackson2HttpMessageConverter} for Jackson 2.x.
 */
@Deprecated
public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConverter<Object>
		implements GenericHttpMessageConverter<Object> {
/**
 * Implementation of {@link org.springframework.http.converter.HttpMessageConverter HttpMessageConverter} that
 * can read and write JSON using <a href="http://jackson.codehaus.org/">Jackson 2.x's</a> {@link ObjectMapper}.
 *
 * <p>This converter can be used to bind to typed beans, or untyped {@link java.util.HashMap HashMap} instances.
 *
 * <p>By default, this converter supports {@code application/json}. This can be overridden by setting the
 * {@link #setSupportedMediaTypes supportedMediaTypes} property.
 *
 * <p>Tested against Jackson 2.2 and 2.3; compatible with Jackson 2.0 and higher.
 *
 * @author Arjen Poutsma
 * @author Keith Donald
 * @author Rossen Stoyanchev
 * @author Juergen Hoeller
 * @since 3.1.2
 */
public class MappingJackson2HttpMessageConverter extends AbstractHttpMessageConverter<Object>
		implements GenericHttpMessageConverter<Object> {
时间: 2024-10-05 23:54:26

java 老系统升级 换掉原有类的小方法和有用的注解的相关文章

Spring同一个类中的方法互相调用,注解失效问题的分析和解决

以Transaction注解为例: @Service public class TestService { @Autowired Dao dao; @Transactional public void methodOne(Object o) { dao.save(o); } public void methodTwo(Object o) { methodOne(o); } } 检查事务是否启动: 设置log leve为debug,可以查看是否有下面这个log,判断是否启动了Transaction

Java技术——你真的了解String类的intern()方法吗

0.引言 转载请注明出处:http://write.blog.csdn.net/postedit/52291082 什么都先不说,先看下面这个引入的例子: String str1 = new String("SEU")+ new String("Calvin"); System.out.println(str1.intern() == str1); System.out.println(str1 == "SEUCalvin"); 本人JDK版本1

Java Random、ThreadLocalRandom、UUID类中的方法应用(随机数)

1.Random:产生一个伪随机数(通过相同的种子,产生的随机数是相同的): Random r=new Random(); System.out.println(r.nextBoolean()); System.out.print(r.nextInt(50)+",");//随机生成0~50的随机数,不包括50 System.out.println(r.nextInt(20)+30);//随机生成30~50的随机数,不包括50 2.ThreadLocalRandom:是JDK 7之后提供

java 判断对象是否是某个类的类型方法

class Do1 { public static void main(String[] args) { AA a=new CC(); if(a instanceof CC) { CC b=(CC)a; b.run(); } } } class AA { int y=3; void brun() { System.out.println(y); } } class CC extends AA { int x=1; void run() { System.out.println(x); } } c

java利用反射来调用一个类的私有方法

public class Calculator2{ private int add(int a,int b){ return a+b; } } public class Test { public static void main(String[] args){ Calculator2 calculator2 = new Calculator2(); Class<Calculator2> clazz = Calculator2.class; Object result = null; try{

Android开发实用工具类(小方法)

1,邮箱地址只展示部分,只展示@前面部分的第1个及最后一个字符,其它的用*代替: public static String spliteEmail(String email) {/**传入邮箱地址*/ String newEmail = email.split("@")[0];/**获取到邮箱@前面部分*/ String[] mails = new String[newEmail.length()]; StringBuffer sb = new StringBuffer(); if (

深入理解Java对象的创建过程:类的初始化与实例化

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 深入理解Java对象的创建过程:类的初始化与实例化 - Rico's Blogs - 博客频道 - CSDN.NET Rico's Blogs 潜心修炼,成为一个更好的人. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]流畅

一年纯手工打造的Java老A上册开始预售了

Java老A这本书写了很久,昨天终于开始在china-pub上开始预售了,其它网站可能会慢一点,不过既然叫预售,就肯定还没到货. 有兴趣的人可以去看看哈(后续其它网站地址也会在这里公开): http://search.china-pub.com/s/?key1=java%cc%d8%d6%d6%b1%f8&type=&pz=1 关于本书内容,请参考:http://blog.csdn.net/xieyuooo/article/details/38373409 里面有本书的所有目录信息,封面等

黑马程序员——Java基础--IO流(一)---File类以及其他流对象

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.File类 File类是将文件系统中的文件和文件夹封装成了对象.提供了更多的属性和行为可以对这些文件和文件夹进行操作.这些是流对象办不到的,因为流只操作数据.File对象可以作为参数传递给流对象的构造函数.File 类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变. 1.File类中的方法 (1).File类的构造方法以及字段 1 new File(Stri