论坛首页 Java企业应用论坛

spring mvc 系列1 环境配置

浏览 4937 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-02  
废话:
热门?=spring + hibernate + struts
热门?=spring + jpa + struts
热门?=spring + ibate + struts

个人觉得分繁复杂的配置,于是开始转身 spring ,因为据说 spring 有自己一整套的东西,于是乎就用来玩玩试试,并在项目中实践,效果还不错。

正题:
先来看看简洁的注解方式:
@Controller // 注解,说明此文件为一控制器
@RequestMapping("/test.do") // 此控制器对应的url 控制器中:/表示此项目的根目录
public class TestController {
	@Autowired //@Autowired是Spring提供的一种注入Bean的方法
	private TestService testService;
}


@Service // 注解,说明此文件为一服务层
public class TestService {
	@Autowired 自动配置
	private TestDao testDao;
}


@Service // 注解,说明此文件为一DAO层
public class BaseDao {
	
	public BaseDao(){}
	
	@Autowired
	private SimpleJdbcTemplate simpleJdbcTemplate ;
	
	@Autowired
	private JdbcTemplate jdbcTemplate ;
}



看起来简洁又清爽吧!
其它的配置文件在附件。
数据库字段:model里面的所有字段。
存储过程:本人用的是sql和其它的数据库不同,所以要测试的话自己创建下。
主页:/index.do
有两个源包,请自建:src/base, src/test.
   发表时间:2010-10-02  
DAO层不要用◎Service,用◎Repository(没拼错的话)
0 请登录后投票
   发表时间:2010-10-03  
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行
0 请登录后投票
   发表时间:2010-10-03  
icanfly 写道
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行

是么?能详细解释下么?
0 请登录后投票
   发表时间:2010-10-06  
icanfly 写道
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行


这个问题是由于问答上有解决方案
引用

这个问题很经典了
在住容器中,将Controller的注解排除掉
<context:component-scan base-package="com">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

而在servlet的spring配置文件中将server给去掉
<context:component-scan base-package="com">
  <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
  </context:component-scan>

应为spring的context是父子容器,所以会产生冲突



0 请登录后投票
   发表时间:2010-10-07  
ricoyu 写道
DAO层不要用◎Service,用◎Repository(没拼错的话)



import org.springframework.stereotype.Repository;
@Repository

支持 ..
0 请登录后投票
   发表时间:2010-10-07  
看来又有一个入行了!
0 请登录后投票
   发表时间:2010-10-08  
mxdba321123 写道
icanfly 写道
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行


这个问题是由于问答上有解决方案
引用

这个问题很经典了
在住容器中,将Controller的注解排除掉
<context:component-scan base-package="com">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

而在servlet的spring配置文件中将server给去掉
<context:component-scan base-package="com">
  <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
  </context:component-scan>

应为spring的context是父子容器,所以会产生冲突




恩,这个方法不错,这样可以全annotation了。比较方便,我也是今天才知道这样配置就可以了,以前全annotation的配置事务失效一直困扰我好久。也怪我没有深入了解spring的内层机制
0 请登录后投票
   发表时间:2010-10-08  

 

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory" />
        </property>
    </bean>
	
    <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
    </bean>
    
    <tx:annotation-driven transaction-manager="txManager" />
    
    <context:component-scan base-package="cn.com.××××.*.dao" />
    <context:component-scan base-package="cn.com.××××.*.service" />
 

 

@Transactional
@Service("messageUserService")
public class MessageUserService {
}
 
0 请登录后投票
   发表时间:2011-04-10  
得花时间好好看下代码了 多谢
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics