真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用SpringMVC4如何配置注解

使用Spring MVC4 如何配置注解?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

點軍網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),點軍網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為點軍上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的點軍做網(wǎng)站的公司定做!

在傳統(tǒng)的Spring項目中,我們要寫一堆的XML文件。而這些XML文件格式要求又很嚴(yán)格,很不便于開發(fā)。而網(wǎng)上所謂的0配置,并不是純粹的0配置,還是要寫一些xml配置,只是用了幾個@Service,@Controller注解而已。

在這里,我講介紹一種新的配置方式,一行XML代碼都不需要,什么web.xml,Application-context.xml,Beans.xml,統(tǒng)統(tǒng)去死吧!

首先建立一個Maven項目,Packageing方式為war,項目結(jié)構(gòu)為標(biāo)準(zhǔn)Maven WebApp結(jié)構(gòu)。

pom文件如下(很多依賴都沒用,懶得去掉了): 


  4.0.0
  com.csonezp
  springdemo
  war
  1.0-SNAPSHOT
  dataplatform Maven Webapp
  http://maven.apache.org
  
    4.0.1.RELEASE
  
  
    
      junit
      junit
      4.11
    

    
    
      asm
      asm-commons
      2.2.3
    
    
      asm
      asm
      2.2.3
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-orm
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-aop
      ${spring.version}
    
    
      org.springframework
      spring-expression
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    

    
      org.springframework
      spring-tx
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    


    
      cglib
      cglib
      2.2.2
    
    
    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    
    
      jstl
      jstl
      1.2
    

    
      org.codehaus.jackson
      jackson-core-asl
      1.8.4
    

    
      org.codehaus.jackson
      jackson-mapper-asl
      1.8.4
    

    
      c3p0
      c3p0
      0.9.1.2
    


    
      log4j
      log4j
      1.2.8
    


    
      org.json
      json
      20090211
    


    
      MySQL
      mysql-connector-java
      5.1.6
    

    
      spy
      spymemcached
      2.6
    

    
      org.slf4j
      slf4j-api
      1.6.6
    
  
  
    dataplatform
  

這個時候,就該進(jìn)行Spring配置了。按傳統(tǒng)方式來的話,首先要去web.xml寫一堆配置,然后建立個管理beab的Beans.xml,管理spring mvc 的xml,再寫一坨一坨Bean。就是先進(jìn)一點的(也就是很多人說的0配置),也就是自己的業(yè)務(wù)Bean不用寫進(jìn)xml了,還是很麻煩。

而我這里講的方式,則是完全不修改任何web.xml代碼,不寫一行XML代碼的方式。

 首先,在項目立建立一個Config.java文件:

/**
 * Created by zhangpeng on 16-3-22.
 * 取代Beans.xml,純注解配置各種BEAN
 */
@Configuration
@ComponentScan("com.csonezp")
@EnableWebMvc
public class Config {
  /**
   * jsp視圖解析器的bean
   * @return
   */
  @Bean
  public UrlBasedViewResolver setupViewResolver() {
    UrlBasedViewResolver resolver = new UrlBasedViewResolver();
    resolver.setPrefix("/WEB-INF/");
    resolver.setSuffix(".jsp");
    resolver.setViewClass(JstlView.class);
    return resolver;
  }

  /**
   * 配置數(shù)據(jù)源
   * @return
   */
  @Bean(name = "dataSource")
  public ComboPooledDataSource getDataSource() {
    try {

      ComboPooledDataSource dataSource = new ComboPooledDataSource();
      dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mfdb");
      dataSource.setDriverClass("com.mysql.jdbc.Driver");
      dataSource.setUser("root");
      dataSource.setPassword("zp1228");
      dataSource.setMaxPoolSize(75);
      return dataSource;
    } catch (Exception e) {
      return null;
    }
  }
}

@Configuration注解就是告訴Spring這個是一個配置文件類,這里配置的Bean要交給Spring去管理。這個就是用來取代Beans.xml這種文件的。

@ComponentScan("com.csonezp")這個注解就是配置包掃描用的,不必多說了

@EnableWebMvc ,啟用Spring MVC支持

這里面配置了兩個Bean,第一個就是JSP的視圖解析器,第二個則是配置了一個數(shù)據(jù)源。這些都可以對應(yīng)到XML文件里面去的。找一個傳統(tǒng)Spring項目,用xml文件對比著我這個類去看,會對這種配置方式有更深的了解。

下面要建立一個WebInitializer類繼承WebApplicationInitializer,在這里添加一個servlet。這一步是用來取代在web.xml中添加servlet的步驟

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;

public class WebInitializer implements WebApplicationInitializer {

  public void onStartup(ServletContext servletContext) throws ServletException {
     
    AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
    ctx.register(Config.class); 
    ctx.setServletContext(servletContext);  
    
    Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
    servlet.addMapping("/"); 
    servlet.setLoadOnStartup(1); 
     
  } 

}

這樣就OK啦!讓我們寫一些代碼來測試一下吧! 

import org.springframework.stereotype.Service;

/**
 * Created by zhangpeng on 16-3-22.
 */
@Service
public class HelloService {
  public String getHello(String name) {
    return name + ",Hello!";
  }
}
import com.guduo.dataplatform.service.HelloService;
import com.guduo.dataplatform.service.MovieService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * Created by zhangpeng on 16-3-22.
 */
@Controller
@RequestMapping("/test")
public class TestController {

  @Autowired
  HelloService helloService;
  @Autowired
  MovieService movieService;


  @RequestMapping("/hello")
  public String sayHello(@RequestParam("name") String name, ModelMap model) {
    model.put("hello", helloService.getHello(name));
    return "hello";
  }
}

一個service,一個controller。

啟動項目,在瀏覽器中輸入地址http://localhost:8080/dp/test/hello?name=sss

頁面顯示sss,Hello!

完工!

額,忘了演示Confgig里配置的bean如何使用了。其實和XML里的一樣。這里拿一個DAO做演示吧,這里就注入了我們在config里配置的那個數(shù)據(jù)源

@Repository
public class MoviePlayIncDao {
  private DataSource dataSource;

  private JdbcTemplate jdbcTemplateObject;

  @Autowired
  public void setDataSource(DataSource dataSource) {
    this.dataSource = dataSource;
    this.jdbcTemplateObject = new JdbcTemplate(dataSource);
  }

  public List getMoviePlayInc(int movieId) {
    try {
      String SQL = "select * from movieplayincreament where movieid=?";
      List list = jdbcTemplateObject.query(SQL, new MoviePlayIncMapper(), new Object[]{movieId});
      return list;
    } catch (Exception e) {
      return null;
    }
  }


}

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


分享名稱:使用SpringMVC4如何配置注解
本文URL:http://weahome.cn/article/jpjseo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部