SpringMVC注解实现

来源:互联网 发布:费用报销软件 编辑:程序博客网 时间:2024/06/03 17:35

1.      还是按照spring管理hibernate来配置

2.      web.xml中配置spring管理跳转:

<servlet>

       <servlet-name>springmvc</servlet-name>

       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

       <init-param>

        <param-name>contextConfigLocation</param-name>

              <param-value>/WEB-INF/spring-servlet.xml,/WEB-INF/applicationContext.xml</param-value>

       </init-param>

        <load-on-startup>4</load-on-startup>

   </servlet> 

   <!-- url中只有.do结尾的菜户进行跳转-->

   <servlet-mapping>

      <servlet-name>springmvc</servlet-name>

      <url-pattern>*.do</url-pattern>

</servlet-mapping>

 

3.      自动生成的applicationContext.xml文件中已经存在了数据源,hibernate模板beansessionFactory的基础配置,但是sessionFactory没有添加扫描实体类的代码,必须要添加:

       <propertyname="packagesToScan">

                 <list>

                    <value>com/lss/entity</value>

                 </list>

              </property>

        

     在注解实现时要加入hibernatebean

<beanid="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate">

       <propertyname="sessionFactory"ref="sessionFactory"></property></bean>

4.      通过hibernate反转后会在applicationContext.xml文件中,生成dao层的数据源,spring管理后就应该删除

 

新建spring-serlet.xml文件,里面开启注解,设置前后缀,注解扫描的包

<!-- 注解开启 -->

    <mvc:annotation-driven/> 

   

     <!--spring会扫描 base-package路径下所有java文件,若果包含注解符号则生成bean-->

    <context:component-scanbase-package="com.lss"/>

 

    <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">

       <propertyname="prefix">

           <value>/</value>

       </property>

       <propertyname="suffix">

           <value>.jsp</value>

       </property>

    </bean> 

 

5.      各层的注解方式:

5.1  Dao

   @Repository("UsersDAO")

publicclass UsersDAO

引用hibernate对象:

   @Resource(name="hibernateTemplate")

private HibernateTemplatehibernateTemplate;

 

5.2  Service

     首先类实现接口

注解指向实现类

@Service("LoginService")

publicclass LoginServiceImplimplements LoginService

 

service层引用dao 

@Autowired

  @Qualifier("UsersDAO")

 UsersDAO usersDAO;

 

5.3  control

  @Controller

@RequestMapping("LoginController")//括号中指向类

publicclassLoginController

    调用service层对象:

   @Autowired

   @Qualifier("LoginService")

LoginServiceloginService;

 

  方法的定义

  @RequestMapping("login")

Public voidlogin(HttpServletRequest req,HttpServletResponse res)

三个层面都注解完毕后,在浏览器的url框中输入

http://127.0.0.1:8090/brcb/LoginController/login.do 

 

因为web.xml中定义只有.dourl才会跳转,嵌套到后台必须注明control层的类注解和方法注解