当前位置: 代码迷 >> Java Web开发 >> spring和springMVC注解配置详解。大神入!
  详细解决方案

spring和springMVC注解配置详解。大神入!

热度:41   发布时间:2016-04-13 22:16:50.0
spring和springMVC注解配置详解。。。。。。大神进!!!!!
我们在用spring和springMVC框架的时候,知道我们controller一般加上两个注解一个@controller和@requestmapping。还有@service等。我想问这些注解是属于spring的东西还是springMVC啊?
另外在spring的配置文件中有<context:component-scan base-package="com.dc.crm.**.web" />这样一句话用于开启注解驱动,同样在springMVC中也有一段类似于这句话的<context:component-scan base-package="com.dc.crm.**.**" />也是跟注解驱动有关。现在整个人都让给整蒙了。
描述完成之后我有以下问题:
1,这些注解是属于spring的东西还是springMVC啊?(如果都有的话,那些属于那些?)
2,两个配置文件里面的context:component-scan base-package=“XXXXX”各起到什么作用,如果去掉其一可以吗?
3,base-package="com.dc.crm.**.web 里面的**是不是代表着中间可以有任意的文件夹啊?如果是这样的话,那么base-package="com.dc.crm.**.**"这个里面的**.**又是什么意思啊?

注:百度了资料,感觉看的云里雾里。有些疑问也得不到解答。只有来这求助大神了。。。。。。。

坐等大神!!!!!!!!


------解决思路----------------------
1、@Controller @RequestMapping 是属于Spring MVC的  其他注解是属于Spring的,你可以这样理解,Spring mvc相当于Struts的action 

2、spring文件里面的配置是 自动注解service和dao 等,  mvc文件里面的自动扫描是扫描controller

3、是的,文件路径的问题
------解决思路----------------------
看下在webmvc包里的就是mvc的...
------解决思路----------------------
一般springmvc的注解只会出现在控制层,类似struts2的action,而spring的注解一般都是自动注入,标识仓储,管理事务的作用。
两个配置文件中context:component-scan 标签是对于他们自己管理下的注解,不冲突,而且注解开发的话,都需要
------解决思路----------------------
看了以上评论,我是这么认为的。

1.spring其实就是联系service和dao层的,简单来说就是一个粘合剂。所以在service和dao层的注释都是spring的。

2.springMVC其实就是控制器的一个框架,相当于struts中的action,那么在action的注释,都是springMVC这个框架的

3.所以你搞清楚每个框架的位置,自然而然就知道配置文件里面的信息是帮助那一层的了。


------解决思路----------------------
1、因为** 涵括量太多了,后面加个.web ,是说明在.web的包下面的控制器才被注入

2、是的,不过他已经确定了包的层级

------解决思路----------------------
你说呢?  这两者是分开的,少写一个都不行,至于解释,请看楼上所有的描述吧
------解决思路----------------------
还有,多看看spring的原理书 。  还有spring mvc官网,这些对你理解有帮助
------解决思路----------------------
引用:
Quote: 引用:

1、因为** 涵括量太多了,后面加个.web ,是说明在.web的包下面的控制器才被注入

2、是的,不过他已经确定了包的层级
如果去掉spring配置文件里面的context:component-scan留着springMvc里面的context:component-scan,那么我的controller还能起到作用吗?(抛开service和dao不管)


有木有作用,试试就知道了,自己实践出的更有韵味!
------解决思路----------------------
引用:
Quote: 引用:

一般springmvc的注解只会出现在控制层,类似struts2的action,而spring的注解一般都是自动注入,标识仓储,管理事务的作用。
两个配置文件中context:component-scan 标签是对于他们自己管理下的注解,不冲突,而且注解开发的话,都需要
如果去掉spring配置文件里面的context:component-scan留着springMvc里面的context:component-scan,那么我的controller还能起到作用吗?(抛开service和dao不管)


可以啊,他俩没关系的一一对应
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

1、因为** 涵括量太多了,后面加个.web ,是说明在.web的包下面的控制器才被注入

2、是的,不过他已经确定了包的层级
如果去掉spring配置文件里面的context:component-scan留着springMvc里面的context:component-scan,那么我的controller还能起到作用吗?(抛开service和dao不管)


有木有作用,试试就知道了,自己实践出的更有韵味!

@service来自import org.springframework.stereotype.Service;
@controller来自import org.springframework.stereotype.Controller;
@repository来自import org.springframework.stereotype.Repository;
@autowire来自import org.springframework.beans.factory.annotation.Autowired;
@requestmapping来自import org.springframework.web.bind.annotation.RequestMapping;
由此看来好像service和controller和repository是来自同一个包的
不知道怎么解释他们属于两个包


我试了,服务器启动不报错,访问项目
2015-10-22 15:29:42 WARN [org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP request with URI [/EBCrm] in DispatcherServlet with name 'spring3'


给你推荐一个博文  

Spring注解@Component、@Repository、@Service、@Controller区别
------解决思路----------------------
引用:
Quote: 引用:

看下在webmvc包里的就是mvc的...
能给说一下在使用注解开发的时候,都需要那些spring的包和springMVC的包吗?

看要用啥....
core,bean,context这几个基础的要的,web,webmvc一般也要的
然后tx数据库事务要的,要支持事务还要有aop包好像,aop面向切面编程用的...
用maven管理的话有依赖关系的像加个web跟webmvc他自己会把core什么的依赖关系的都下过来...
应该漏了好多~还有什么jdbc什么的...可以下个all的那种什么都在里面了
------解决思路----------------------
mark!
学习学习。。。
今晚搜了很多关于spring和spring  mvc的,也大概了解,还差自己搭一遍环境搞个demo~

单位项目就是spring +mybatis+mysql的,准备抄袭一下精华

半吊子入门难啊
------解决思路----------------------
我就知道  spring 是一个中介  其他的 受教了
  相关解决方案