零配置整合初步整合ssm框架+junit測試的配置
由於看到一大堆xml檔案就蛋疼,所以本人傾向於用註解來配置spring,經過對比確實也要簡單方便一些,增加功能也可以通過重寫方法來實現,不過這種好像只能在servlet3.0和spring3以上才能用.
首先在config包下一個類,繼承AbstractAnnotationConfigDispatcherServletInitializer類…由於一系列的繼承關係,總之Spring在啟動時就會檢查到我們繼承了這個抽象類的類從而用來配置ServletContext.
package cn.paul.config;
import org.springframework.context.annotation.Bean;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletRegistration;
/**
* Created by paul on 2017-06-14.
* 此乃系統入口
*/
public class SpringInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{RootConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebMVCConfig.class};
}
@Override
protected String[] getServletMappings() {
//將DispatcherServlet對映到"/"
return new String[]{"/"};
}
@Override
protected void customizeRegistration(ServletRegistration.Dynamic registration) {
registration.setMultipartConfig(new MultipartConfigElement(""));
}
}
接下來需要寫WebMVCConfig,由於功能簡單隻配置了jsp的處理
package cn.paul.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
/**
* Created by paul on 2017-06-14.
* 該檔案用於配置Spring的檢視解析器,為了解析jsp採用ViewResolver物件
*/
//該註解表示這是一個配置類
@Configuration
//表示啟用SpringMVC
@EnableWebMvc
//指定掃描的包,我們這裡讓他控制web下的控制器即可
@ComponentScan(basePackages = {"cn.paul.web"})
public class WebMVCConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver() {
//配置jsp檢視解析器
InternalResourceViewResolver resolver =
new InternalResourceViewResolver();
//這裡是jsp檔案的路徑對映,我們把jsp檔案放在WEB-INF下的views資料夾中
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
//配置靜態資源處理
configurer.enable();
}
}
而RootConfig我打算用來配置一些其他的bean,比如mybatis相關的東西.
package cn.paul.config;
import cn.paul.dao.UserDao;
import cn.paul.dao.impl.UserDaoImpl;
import cn.paul.mapper.UserMapper;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import javax.sql.DataSource;
/**
* Created by paul on 2017-06-14.
*/
@EnableTransactionManagement
@Configuration
@MapperScan("cn.paul.mapper")
@ComponentScan(basePackages = { "cn.paul" },
excludeFilters = { @ComponentScan.Filter(type = FilterType.ANNOTATION,
value = EnableWebMvc.class) })
public class RootConfig {
@Bean
public DataSource dataSource() {
return new ComboPooledDataSource();
}
@Bean
public SqlSessionFactoryBean sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
sqlSessionFactory.setDataSource(dataSource());
sqlSessionFactory.setTypeAliasesPackage("cn.paul.domain");
return sqlSessionFactory;
}
@Bean
public DataSourceTransactionManager dataSourceTransactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
這裡有一個坑就是@componentScan中設定掃描的包可以是根目錄下所有的包,但是必須要排除有@enableMVC註解的類,不然一會兒Junit會報錯.
一個簡單的mapper類,用來做登入功能,那個@param必須要寫不然會提示找不到引數…還有@repository也要寫上不然 會報紅,但好像不寫也能通過…
package cn.paul.mapper;
import cn.paul.domain.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Repository;
/**
* Created by dell1 on 2017-06-25.
*/
@Repository
public interface UserMapper {
/**
* 根據使用者名稱密碼查詢,即登陸功能
* @param username
* @param password
* @return 返回user物件
* */
@Select("select * from tb_user4 where username=#{username} and password=#{password}")
User findUser( @Param("username")String username,@Param("password") String password);
}
相關推薦
零配置整合初步整合ssm框架+junit測試的配置
由於看到一大堆xml檔案就蛋疼,所以本人傾向於用註解來配置spring,經過對比確實也要簡單方便一些,增加功能也可以通過重寫方法來實現,不過這種好像只能在servlet3.0和spring3以上才能用. 首先在config包下一個類,繼承Abstra
maven整合ssm框架pom.xml配置檔案
首先複習下maven如何使用:maven詳解 ssm框架整合:整合案例 這裡直接貼出整合後的pom.xml配置檔案,僅供記錄和日後參考! <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http
01 整合IDEA+Maven+SSM框架的高並發的商品秒殺項目之業務分析與DAO層
初始 lob 可能 很多 ont 配置 支持 個數 base 作者:nnngu 項目源代碼:https://github.com/nnngu/nguSeckill 這是一個整合IDEA+Maven+SSM框架的高並發的商品秒殺項目。我們將分為以下幾篇文章來進行詳細的講解:
02 整合IDEA+Maven+SSM框架的高並發的商品秒殺項目之Service層
狀態 enum枚舉類 post note 序號 設計 發的 連接數據庫 解釋 作者:nnngu 項目源代碼:https://github.com/nnngu/nguSeckill 首先在編寫Service層代碼前,我們應該首先要知道這一層到底是幹什麽的。 Service層
分分鐘 整合 activiti與ssm框架
整合Activiti框架 Spring框架叫做專案(資源)的管家。如果待整合專案中,有Spring框架,那麼主要就是和“Spring框架”做整合。把Activiti框架的“核心類”交給Spring管理; Activiti的核心類,引擎配置物件,引擎物件,三大服務物件
02 整合IDEA+Maven+SSM框架的高併發的商品秒殺專案之Service層
首先在編寫Service層程式碼前,我們應該首先要知道這一層到底是幹什麼的。Service層主要負責業務模組的邏輯應用設計。同樣是首先設計介面,再設計其實現的類,接著在Spring的配置檔案中配置其實現的關聯。這樣我們就可以在應用中呼叫Service介面來進行業
MongDB-API在SSM框架中的配置及使用
一、在父工程的pom.xml中引入Maven依賴 <groupId>com.foriseland.fjf</groupId> <artifactId>fjf-cache-mongdb</artifactId> <version>1.0
幾種配置properties檔案方法--SSM框架-附原始碼
背景: Spring、SpringMVC4.0.2、Mybatis3.2.6、JDK1.8、tomcat8、maven3.3.9、MyEclipse2013 專案結構: demo.properties: 方法一: springmvc.xml
SSM框架+MySQL資料庫配置事務管理
資料庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 例如銀行轉賬,A賬戶轉100元給B賬戶,正常的流程是A賬戶減掉100元,B賬戶增加100元。如果轉賬失敗的話,不能出現A賬戶已經減掉100元而B賬戶沒有增加10
ssm框架基本實現配置
dao層與pojo層使用generatorSqlmapCustom逆向工程自動生存的程式碼 1.db.properties的配置 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/springm
ssm框架的主要配置檔案
說明:為以後檢視學習備份,請知。 spring+springmvc+mybatis框架中用到了三個XML配置檔案:web.xml,spring-mvc.xml,spring-mybatis.xml 專案中還會用到兩個資源屬性檔案jdbc.properties和lo
HttpSessionListener 監聽器事件配置及注入bean ssm框架
當一個瀏覽器第一次訪問網站的時候,J2EE應用伺服器會新建一個HttpSession物件 ,並觸發 HttpSession建立事件 ,如果註冊了HttpSessionListener事件監聽器,則會呼叫HttpSessionListener事件監聽器的sessionCreat
SSM框架之Log4j配置
前言 之前搭建SSM框架的時候我們曾經配置過log4j.properties檔案,那麼這個檔案主要是幹什麼的呢?配置的格式有哪些?在本文中會進行相關的講解。 log4j.properties 什麼是Log4j? Log4j是Apache的一個開源專案,通過使用
從零開始Eclipse/Maven搭建SSM框架做web應用(超詳細+100%可用+避坑版)
目前SSM框架(Spring+SpringMVC+Mybatis)依然是市場主流,如何搭建一個實用的SSM框架是很多同學都想學習的技能。但網路上的大多數教程要麼不完整,要麼還遺留了很多坑,即使嚴格按教程來也很難得到我們想要的結果。所以我就想自己寫一篇搭建攻略,即使零基礎的同學,按我的攻略步驟
ssm框架web專案配置全域性異常處理
在專案的資原始檔目錄中新增log4j.properties。比如:log4j.rootLogger = INFO,stdout,D,E###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.append
第一篇-SSM框架+ehcache詳細配置(適合新手)
最近打算把常用的快取技術總體複習一下,也希望幫助到和我遇到一樣問題的親們。1.前言為了提高MyBatis的效能,有時候我們需要加入快取支援,目前用的比較多的快取莫過於ehcache快取了,ehcache效能強大,而且位各種應用都提供瞭解決方案,在此我們主要是做查詢快取,提高查
ssm框架中的配置檔案
spring+springmvc+mybatis框架中用到了三個XML配置檔案:web.xml,spring-mvc.xml,spring-mybatis.xml 專案中還會用到兩個資源屬性檔案jdbc.properties和log4j.propertie
SSM框架多資料來源配置以及一直呼叫預設的資料來源的問題
今天突然想到,學習一下SSM框架多資料來源配置問題,於是上網查了查,發現配置都很簡單,這裡就不做過多的講解了,說一下,我遇到的問題 就一個問題,配置按照網上說的配置了之後,測試N遍還是呼叫的預設的資料庫 問什麼? 查了半天時間,一直追查到底層才發現,自己配置沒有完全配置好,
SSM框架之JDBC配置
前言 之前搭建SSM框架的時候我們曾經配置過jdbc.properties檔案,那麼這個檔案主要是幹什麼的呢?在本文中會進行相關的講解。 jdbc.properties 什麼是JDBC? 相信JDBC對於程式設計師來說並不陌生,如果不太清楚具體含義的話可以看看以下JDBC的定義