无意在网上看到某个人发的一种写法, 这是什么写法那么怪异,而且是用txt文件,不是用java文件。但是内容确实是
java的呀。运用ssh框架术。不懂这个#{Entity}类似这种.请高人指点,这个从某种意义上来说是一种类的规范,像泛型的思想有点,只是不断的替换类名,其实架构还是不变,内容变。
import #{dao_p}.#{Entity}Dao;
import #{entity_p}.#{Entity};
import #{manager_p}.#{Entity}Mng;@Service
@Transactional
public class #{Entity}MngImpl implements #{Entity}Mng {
@Transactional(readOnly = true)
public Pagination getPage(int pageNo, int pageSize) {
Pagination page = dao.getPage(pageNo, pageSize);
return page;
} @Transactional(readOnly = true)
public #{Entity} findById(Integer id) {
#{Entity} entity = dao.findById(id);
return entity;
} public #{Entity} save(#{Entity} bean) {
dao.save(bean);
return bean;
} public #{Entity} update(#{Entity} bean) {
Updater<#{Entity}> updater = new Updater<#{Entity}>(bean);
bean = dao.updateByUpdater(updater);
return bean;
} public #{Entity} deleteById(Integer id) {
#{Entity} bean = dao.deleteById(id);
return bean;
}

public #{Entity}[] deleteByIds(Integer[] ids) {
#{Entity}[] beans = new #{Entity}[ids.length];
for (int i = 0,len = ids.length; i < len; i++) {
beans[i] = deleteById(ids[i]);
}
return beans;
} private #{Entity}Dao dao; @Autowired
public void setDao(#{Entity}Dao dao) {
this.dao = dao;
}
}

解决方案 »

  1.   


    el表达式不是dollar符吗?
      

  2.   

    这个那里是el表达式= =。 ${xxx}这样才是。这个文件要通过某个框架才能运行的。就不懂是什么java技术了。
      

  3.   

    hibernate的注解的写法吧,搜索“hibernate 注解”即可找打答案。
      

  4.   

    = =。我一向是用注解的。难道我不懂= =,问题是这个文件本来就不是.class是.txt  
      

  5.   

    通过配置的方式自动生存service类,利用自定义类加载器加载这些业务类字节码,可以省去不少编码。不过缺点也蛮多的。
      

  6.   

    哪个说EL只能用$,OGNL和UEL都用上了#简单地说,无非就是将表达式的值替换到这些EL表达式占位的地方,然后自动编译、加载、使用这些动态生成的类。Spring(Java Config)应该就可以做这活。
    (抱歉,说了不少推测的话)
      

  7.   

    有点像 ibatis 里的实现 Dao 接口的
      

  8.   

    顶。。还是求用过的java高手指点说得不是很明白
      

  9.   

    应该是自己写的一个小框架从文件上的代码来看,这里是通用的一个service层(manager)的实现。我个人推断如下:自己写的小框架通过io操作读取该文本文件,然后再通过配置的文件或者其他的信息注入方式,实时替换文中#{} 标注的字段,从而实现代码的重用,这倒有点像代码模板。另外,观察它的代码,明显的是“约定大于配置”,程序的命名是按照特定的方式来进行的,所以替换会很方便.
    不过这样似乎只能解决通用的CRUD的操作,更特殊的操作,貌似仍有缺陷.
      

  10.   

    Struts2 的注解 编程方法而已
      

  11.   

    谢谢你们回答了那么多,还是没找到真正的。#{Entity}只要能理解#{}取值的java框架技术是那个就OK.继续寻找人回答
      

  12.   


    是模板 okgo123
    少见多怪了。
      

  13.   

    搞毛   那是一个模板!!!#{Entity}这些东西都是你在后面是可以自动替换的 !   你反编译你那个生成好的类就能看出来了  他已经把你的类个他的结合在一块了
      

  14.   

    模板,很容易看出
    只是不太明白为什么删除方法还要有返回 public #{Entity} deleteById(Integer id)
      

  15.   

    大公司经常会有这样子的代码,这种代码是要先进行预处理的。
    我原来用python处理过这种文件,预处理完后就是java代码了。
      

  16.   

    这个是模板代码,需要进行处理之后才能用的,比如把 #{Entity} 替换掉。
      

  17.   

    注解的一种写法,spring AOP 就有这种写法 ,我们常用的是xml方法的升明,这是另一种写法