idea创建maven+springmvc+mybatis+jetty项目

谁践踏了优雅 2022-09-25 15:18 329阅读 0赞

1、首先使用idea创建一个maven项目

856319-20160312230502522-1397751153.png

856319-20160312230906444-937084329.png

856319-20160312231519679-307775014.png

2、接着配置pom.xml,以下为我的配置










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40


41


42


43


44


45


46


47


48


49


50


51


52


53


54


55


56


57


58


59


60


61


62


63


64


65


66


67


68


69


70


71


72


73


74


75


76


77


78


79


80


81


82


83


84


85


86


87


88


89


90


91


92


93


94


95


96


97


98


99


100


101


102


103


104


105


106


107


108


109


110


111


112


113


114


115


116


117


118


119


120


121


122


123


124


125


126


127


128


129


130


131


132


133


134


135


136


137


138


139


140


141


142


143


144


145


146


147


148


149


150


151


152


153


154


155


156


157


158


159


160


161


162


163


164


165


166


167


168


169


170


171


172


173


174


175


176


177


178


179


180


181


182


183


184


185


186


187


188


189


190


191


192


193


194


195


196


197


198


199


200


201


202


203


204


205


206


207


208


209


210


211


212


213


214


215


216


217


218


219


220


221


222


223


224


225


226


227


228


229


230


231


232


233


234


235


236


237


238


239


240


241


242


243


244


245


246


247


248


249


250


251


252


253


254


255


256


257


258


259


260


261


262


263


264


265


266


267


268


269


270


271


272


273


274


275


276


277


278


279



<
project 
xmlns=”http://maven.apache.org/POM/4.0.0“ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“


         
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;


  
<
modelVersion
>4.0.0</
modelVersion
>


  
<
groupId
>com.liuwenjian</
groupId
>


  
<
artifactId
>angular-demo</
artifactId
>


  
<
packaging
>war</
packaging
>


  
<
version
>1.0-SNAPSHOT</
version
>


  
<
name
>angular-demo Maven Webapp</
name
>


  
<
url
>http://maven.apache.org</
url
>


  
<
properties
>


    
<
project.build.sourceEncoding
>UTF-8</
project.build.sourceEncoding
>


    
<
spring.version
>4.2.5.RELEASE</
spring.version
>


  
</
properties
>


    
<
dependencies
>


      
<
dependency
>


        
<
groupId
>junit</
groupId
>


        
<
artifactId
>junit</
artifactId
>


        
<
version
>4.12</
version
>


        
<
scope
>test</
scope
>


      
</
dependency
>


      
<!— spring配置—>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-aop</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-aspects</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-beans</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-context</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-context-support</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-core</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
exclusions
>


          
<
exclusion
>


            
<
groupId
>commons-logging</
groupId
>


            
<
artifactId
>commons-logging</
artifactId
>


          
</
exclusion
>


        
</
exclusions
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-expression</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-jdbc</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-jms</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-orm</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-oxm</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-tx</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-web</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-webmvc</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>org.springframework</
groupId
>


        
<
artifactId
>spring-test</
artifactId
>


        
<
version
>${spring.version}</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


 


      
<
dependency
>


        
<
groupId
>javax.servlet</
groupId
>


        
<
artifactId
>jstl</
artifactId
>


        
<
version
>1.2</
version
>


        
<
type
>jar</
type
>


        
<
scope
>compile</
scope
>


      
</
dependency
>


 


      
<
dependency
>


        
<
groupId
>commons-logging</
groupId
>


        
<
artifactId
>commons-logging</
artifactId
>


        
<
version
>1.1.1</
version
>


      
</
dependency
>


 


      
<
dependency
>


        
<
groupId
>commons-collections</
groupId
>


        
<
artifactId
>commons-collections</
artifactId
>


        
<
version
>3.2.1</
version
>


      
</
dependency
>


 


      
<
dependency
>


        
<
groupId
>commons-dbcp</
groupId
>


        
<
artifactId
>commons-dbcp</
artifactId
>


        
<
version
>1.4</
version
>


      
</
dependency
>


 


      
<
dependency
>


        
<
groupId
>commons-pool</
groupId
>


        
<
artifactId
>commons-pool</
artifactId
>


        
<
version
>1.5.4</
version
>


      
</
dependency
>


      
<!— mybatis包—>


      
<
dependency
>


        
<
groupId
>org.mybatis</
groupId
>


        
<
artifactId
>mybatis</
artifactId
>


        
<
version
>3.3.1</
version
>


      
</
dependency
>


      
<!—mybatis spring插件—>


      
<
dependency
>


        
<
groupId
>org.mybatis</
groupId
>


        
<
artifactId
>mybatis-spring</
artifactId
>


        
<
version
>1.2.4</
version
>


      
</
dependency
>


      
<!— mysql连接驱动包—>


      
<
dependency
>


        
<
groupId
>mysql</
groupId
>


        
<
artifactId
>mysql-connector-java</
artifactId
>


        
<
version
>5.1.26</
version
>


      
</
dependency
>


      
<!— 连接池—>


      
<
dependency
>


        
<
groupId
>c3p0</
groupId
>


        
<
artifactId
>c3p0</
artifactId
>


        
<
version
>0.9.1.2</
version
>


      
</
dependency
>


      
<!— log4j—>


      
<
dependency
>


        
<
groupId
>log4j</
groupId
>


        
<
artifactId
>log4j</
artifactId
>


        
<
version
>1.2.14</
version
>


      
</
dependency
>


      
<!— servlet—>


      
<
dependency
>


        
<
groupId
>javax.servlet</
groupId
>


        
<
artifactId
>servlet-api</
artifactId
>


        
<
version
>2.5</
version
>


      
</
dependency
>


      
<
dependency
>


        
<
groupId
>javax.servlet</
groupId
>


        
<
artifactId
>jstl</
artifactId
>


        
<
version
>1.2</
version
>


      
</
dependency
>


      
<!— freemarker模板引擎—>


      
<
dependency
>


        
<
groupId
>org.freemarker</
groupId
>


        
<
artifactId
>freemarker</
artifactId
>


        
<
version
>2.3.23</
version
>


      
</
dependency
>


      
<!— 文件上传 —>


      
<
dependency
>


        
<
groupId
>commons-io</
groupId
>


        
<
artifactId
>commons-io</
artifactId
>


        
<
version
>2.4</
version
>


      
</
dependency
>


 


      
<
dependency
>


        
<
groupId
>commons-fileupload</
groupId
>


        
<
artifactId
>commons-fileupload</
artifactId
>


        
<
version
>1.3</
version
>


      
</
dependency
>


 


      
<!— 解析json—>


      
<
dependency
>


        
<
groupId
>com.google.code.gson</
groupId
>


        
<
artifactId
>gson</
artifactId
>


        
<
version
>2.2.2</
version
>


      
</
dependency
>


 


      
<!— urlrewrite伪静态—>


      
<
dependency
>


        
<
groupId
>org.tuckey</
groupId
>


        
<
artifactId
>urlrewritefilter</
artifactId
>


        
<
version
>4.0.3</
version
>


      
</
dependency
>


    
</
dependencies
>


  
<
build
>


    
<
finalName
>angular-demo</
finalName
>


    
<
plugins
>


      
<
plugin
>


        
<
groupId
>org.eclipse.jetty</
groupId
>


        
<
artifactId
>jetty-maven-plugin</
artifactId
>


        
<
version
>9.3.7.v20160115</
version
>


        
<
configuration
>


          
<!— 扫描秒数,若非0则为热部署—>


          
<
scanIntervalSeconds
>10</
scanIntervalSeconds
>


          
<
reload
>automatic</
reload
>


          
<
stopPort
>9966</
stopPort
>


          
<
stopKey
>foo</
stopKey
>


          
<
stopWait
>10</
stopWait
>


          
<
webApp
>


            
<!— 项目根目录—>


            
<
contextPath
>/</
contextPath
>


          
</
webApp
>


          
<
httpConnector
>


            
<!— 服务器端口号—>


            
<
port
>9080</
port
>


            
<
idleTimeout
>60000</
idleTimeout
>


          
</
httpConnector
>


          
<!— 请求log—>


          
<
requestLog 
implementation=”org.eclipse.jetty.server.NCSARequestLog”>


            
<!— log输出目录—>


            
<
filename
>target/yyyy_mm_dd.request.log</
filename
>


            
<!—<filenameDateformat>yyyy_MM_dd</filenameDateformat>—>


            
<!— log保存天数—>


            
<
retainDays
>90</
retainDays
>


            
<!— log是否附加在文件后—>


            
<
append
>true</
append
>


            
<
extended
>false</
extended
>


            
<!— 时区—>


            
<
logTimeZone
>GMT+8:00</
logTimeZone
>


          
</
requestLog
>


        
</
configuration
>


      
</
plugin
>


    
</
plugins
>


  
</
build
>


</
project
>

  2、配置web.xml










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40


41


42


43


44


45


46


47


48


49


50


51


52


53


54


55


56


57


58


59


60


61


62


63


64


65


66


67


68


69


70


71


72


73


74


75


76


77


78


79


80


81


82


83


84


85


86


87


88


89


90


91


92


93



<
web-app 
xmlns=”http://java.sun.com/xml/ns/javaee“


         
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“


         
xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd“


         
version=”3.0”>


  
<
display-name
>Archetype Created Web Application</
display-name
>


    
<
description
>springMVC</
description
>


 


    
<!— 加载Spring配置文件 —>


    
<
context-param
>


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


        
<
param-value
>classpath:/config/applicationContext.xml</
param-value
>


    
</
context-param
>


    
<!— 编码过滤器 —>


    
<
filter
>


        
<
filter-name
>encodingFilter</
filter-name
>


        
<
filter-class
>org.springframework.web.filter.CharacterEncodingFilter</
filter-class
>


        
<
async-supported
>true</
async-supported
>


        
<
init-param
>


            
<
param-name
>encoding</
param-name
>


            
<
param-value
>UTF-8</
param-value
>


        
</
init-param
>


    
</
filter
>


    
<
filter-mapping
>


        
<
filter-name
>encodingFilter</
filter-name
>


        
<
url-pattern
>/</
url-pattern
>


    
</
filter-mapping
>


 


    
<!— urlrewrite—>


    
<
filter
>


        
<
filter-name
>UrlRewriteFilter</
filter-name
>


        
<
filter-class
>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</
filter-class
>


    
</
filter
>


    
<
filter-mapping
>


        
<
filter-name
>UrlRewriteFilter</
filter-name
>


        
<
url-pattern
>/
</
url-pattern
>


        
<
dispatcher
>REQUEST</
dispatcher
>


        
<
dispatcher
>FORWARD</
dispatcher
>


    
</
filter-mapping
>


 


    
<!— 日志记录 —>


    
<
context-param
>


        
<!— 日志配置文件路径 —>


        
<
param-name
>log4jConfigLocation</
param-name
>


        
<
param-value
>classpath:config/log4j.properties</
param-value
>


    
</
context-param
>


    
<
context-param
>


        
<!— 日志页面的刷新间隔 —>


        
<
param-name
>log4jRefreshInterval</
param-name
>


        
<
param-value
>6000</
param-value
>


    
</
context-param
>


    
<
listener
>


        
<
listener-class
>org.springframework.web.util.Log4jConfigListener</
listener-class
>


    
</
listener
>


 


    
<!— Spring监听 —>


    
<
listener
>


        
<
listener-class
>org.springframework.web.context.ContextLoaderListener</
listener-class
>


    
</
listener
>


 


    
<!— Spring MVC配置 —>


    
<
servlet
>


        
<
servlet-name
>springMVC</
servlet-name
>


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


        
<!— 自定义spring mvc的配置文件名称和路径 —>


        
<
init-param
>


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


            
<
param-value
>classpath:config/spring-mvc.xml</
param-value
>


        
</
init-param
>


        
<
load-on-startup
>1</
load-on-startup
>


    
</
servlet
>


 


    
<!— spring mvc 请求后缀 —>


    
<
servlet-mapping
>


        
<
servlet-name
>springMVC</
servlet-name
>


        
<
url-pattern
>/</
url-pattern
>


    
</
servlet-mapping
>


 


    
<
error-page
>


        
<
error-code
>404</
error-code
>


        
<
location
>/error/404</
location
>


    
</
error-page
>


 


    
<
error-page
>


        
<
error-code
>500</
error-code
>


        
<
location
>/error/500</
location
>


    
</
error-page
>


 


    
<
welcome-file-list
>


        
<
welcome-file
>/index.jsp</
welcome-file
>


        
<
welcome-file
>/index.htm</
welcome-file
>


        
<
welcome-file
>/index.html</
welcome-file
>


    
</
welcome-file-list
>


</
web-app
>

  3、在resources/config目录下新建applicationContext.xml文件










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40


41


42


43


44


45


46


47


48


49


50


51


52


53


54


55


56


57


58


59


60


61


62


63


64


65


66


67


68


69


70


71


72


73


74


75


76


77


78


79


80


81


82


83


84


85


86


87


88


89


90


91


92


93


94


95


96


97


98


99


100


101


102


103


104


105


106


107


108


109


110


111


112


113


114


115


116


117


118


119


120


121


122


123



<?
xml 
version=”1.0” encoding=”UTF-8”?>


<
beans 
xmlns=”http://www.springframework.org/schema/beans“


       
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“


       
xmlns:context=”http://www.springframework.org/schema/context“


       
xmlns:aop=”http://www.springframework.org/schema/aop“


       
xmlns:tx=”http://www.springframework.org/schema/tx“


       
xsi:schemaLocation=”


       
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd


       
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd


       
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd


       
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"&gt;


 


    
<!— 自动扫描 —>


    
<
context:component-scan 
base-package=”com.liuwenjian.service” />


    
<
context:component-scan 
base-package=”com.liuwenjian.dao” />


 


    
<!— 引入文件属性 —>


    
<!—<context:property-placeholder location=”classpath:config/jdbc.properties” />—>


    
<
bean 
id=”propertyConfigurer” class=”org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”>


        
<
property 
name=”location” value=”classpath:config/jdbc.properties”/>


    
</
bean
>


 


    
<!— sqlServer数据源—>


    
<
bean 
id=”sqlServerDataSource” class=”org.apache.commons.dbcp.BasicDataSource” destroy-method=”close”>


        
<
property 
name=”driverClassName” value=”${jdbc.sqlserver.driver}”/>


        
<
property 
name=”url” value=”${jdbc.sqlserver.url}”/>


        
<
property 
name=”username” value=”${jdbc.sqlserver.username}”/>


        
<
property 
name=”password” value=”${jdbc.sqlserver.password}”/>


        
<
property 
name=”initialSize” value=”${jdbc.initialSize}”/>


        
<
property 
name=”minIdle” value=”${jdbc.minIdle}”/>


        
<
property 
name=”maxIdle” value=”${jdbc.maxIdle}”/>


        
<
property 
name=”maxActive” value=”${jdbc.maxActive}”/>


        
<
property 
name=”maxWait” value=”${jdbc.maxWait}”/>


        
<
property 
name=”defaultAutoCommit” value=”${jdbc.defaultAutoCommit}”/>


        
<
property 
name=”removeAbandoned” value=”${jdbc.removeAbandoned}”/>


        
<
property 
name=”removeAbandonedTimeout” value=”${jdbc.removeAbandonedTimeout}”/>


        
<
property 
name=”testWhileIdle” value=”${jdbc.testWhileIdle}”/>


        
<
property 
name=”timeBetweenEvictionRunsMillis” value=”${jdbc.timeBetweenEvictionRunsMillis}”/>


        
<
property 
name=”numTestsPerEvictionRun” value=”${jdbc.numTestsPerEvictionRun}”/>


        
<
property 
name=”minEvictableIdleTimeMillis” value=”${jdbc.minEvictableIdleTimeMillis}”/>


    
</
bean
>


 


    
<!— mysql数据源—>


    
<
bean 
id=”mySqlDataSource” class=”org.apache.commons.dbcp.BasicDataSource”


          
destroy-method=”close”>


        
<
property 
name=”driverClassName” value=”${jdbc.mysql.driver}”/>


        
<
property 
name=”url” value=”${jdbc.mysql.url}”/>


        
<
property 
name=”username” value=”${jdbc.mysql.username}”/>


        
<
property 
name=”password” value=”${jdbc.mysql.password}”/>


        
<
property 
name=”initialSize” value=”${jdbc.initialSize}”/>


        
<
property 
name=”minIdle” value=”${jdbc.minIdle}”/>


        
<
property 
name=”maxIdle” value=”${jdbc.maxIdle}”/>


        
<
property 
name=”maxActive” value=”${jdbc.maxActive}”/>


        
<
property 
name=”maxWait” value=”${jdbc.maxWait}”/>


        
<
property 
name=”defaultAutoCommit” value=”${jdbc.defaultAutoCommit}”/>


        
<
property 
name=”removeAbandoned” value=”${jdbc.removeAbandoned}”/>


        
<
property 
name=”removeAbandonedTimeout” value=”${jdbc.removeAbandonedTimeout}”/>


        
<
property 
name=”testWhileIdle” value=”${jdbc.testWhileIdle}”/>


        
<
property 
name=”timeBetweenEvictionRunsMillis” value=”${jdbc.timeBetweenEvictionRunsMillis}”/>


        
<
property 
name=”numTestsPerEvictionRun” value=”${jdbc.numTestsPerEvictionRun}”/>


        
<
property 
name=”minEvictableIdleTimeMillis” value=”${jdbc.minEvictableIdleTimeMillis}”/>


    
</
bean
>


 


    
<!— 数据源选择,targetDataSources中选择数据源,若找不到,则使用defaultTargetDataSource—>


    
<
bean 
id=”multipleDataSource” class=”com.liuwenjian.common.MultipleDataSource”>


        
<
property 
name=”defaultTargetDataSource” ref=”mySqlDataSource”/>


        
<
property 
name=”targetDataSources”>


            
<
map
>


                
<
entry 
key=”mySqlDataSource” value-ref=”mySqlDataSource”/>


                
<
entry 
key=”sqlServerDataSource” value-ref=”sqlServerDataSource”/>


            
</
map
>


        
</
property
>


    
</
bean
>


 


    
<!— 配置mybatis的sqlSessionFactory —>


    
<
bean 
id=”sqlSessionFactory” class=”org.mybatis.spring.SqlSessionFactoryBean”>


        
<
property 
name=”dataSource” ref=”multipleDataSource” />


        
<!— 自动扫描mappers.xml文件 ,要加上classpath:com/…—>


        
<!—<property name=”mapperLocations” value=”classpath:com/liuwenjian/mappers/.xml”></property>—>


        
<!— mybatis配置文件 —>


        
<
property 
name=”configLocation” value=”classpath:config/mybatis-config.xml”></
property
>


    
</
bean
>


 


    
<!— DAO接口所在包名,Spring会自动查找其下的类 —>


    
<
bean 
class=”org.mybatis.spring.mapper.MapperScannerConfigurer”>


        
<
property 
name=”basePackage” value=”com.liuwenjian.dao” />


        
<
property 
name=”sqlSessionFactoryBeanName” value=”sqlSessionFactory”></
property
>


    
</
bean
>


 


    
<!— (事务管理)transaction manager, use JtaTransactionManager for global tx —>


    
<
bean 
id=”transactionManager”


          
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>


        
<
property 
name=”dataSource” ref=”mySqlDataSource” />


    
</
bean
>


 


    
<!— 配置事务通知属性 —>


    
<
tx:advice 
id=”txAdvice” transaction-manager=”transactionManager”>


        
<!— 定义事务传播属性 —>


        
<
tx:attributes
>


            
<
tx:method 
name=”insert
“ propagation=”REQUIRED” />


            
<
tx:method 
name=”update“ propagation=”REQUIRED” />


            
<
tx:method 
name=”edit
“ propagation=”REQUIRED” />


            
<
tx:method 
name=”save“ propagation=”REQUIRED” />


            
<
tx:method 
name=”add
“ propagation=”REQUIRED” />


            
<
tx:method 
name=”new“ propagation=”REQUIRED” />


            
<
tx:method 
name=”set
“ propagation=”REQUIRED” />


            
<
tx:method 
name=”remove“ propagation=”REQUIRED” />


            
<
tx:method 
name=”delete
“ propagation=”REQUIRED” />


            
<
tx:method 
name=”change“ propagation=”REQUIRED” />


            
<
tx:method 
name=”get
“ propagation=”REQUIRED” read-only=”true” />


            
<
tx:method 
name=”find“ propagation=”REQUIRED” read-only=”true” />


            
<
tx:method 
name=”load
“ propagation=”REQUIRED” read-only=”true” />


            
<
tx:method 
name=”“ propagation=”REQUIRED” read-only=”true” />


        
</
tx:attributes
>


    
</
tx:advice
>


 


    
<!— 配置事务切面 —>


    
<
aop:config
>


        
<
aop:pointcut 
id=”serviceOperation”


        
expression=”execution(
com.liuwenjian.service..(..))” />


        
<
aop:advisor 
advice-ref=”txAdvice” pointcut-ref=”serviceOperation” />


    
</
aop:config
>


</
beans
>

  在文件中引入的jdbc.properties文件










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39



#============================================================================


# MySQL


#============================================================================


jdbc.mysql.driver=com.mysql.jdbc.Driver


jdbc.mysql.url=jdbc:mysql://localhost:9081/angular-demo?useUnicode=true&characterEncoding=utf8


jdbc.mysql.username=root


jdbc.mysql.password=root


 


#============================================================================


# MS SQL Server


#============================================================================


jdbc.sqlserver.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver


jdbc.sqlserver.url=jdbc:sqlserver://127.0.0.1:1433;database=angular-demo;


jdbc.sqlserver.username=root


jdbc.sqlserver.password=root


 


#============================================================================


# ORACLE


#============================================================================


jdbc.orcl.driver=oracle.jdbc.OracleDriver


jdbc.orcl.url=jdbc:oracle:thin:@localhost:1526:angular-demo


jdbc.orcl.username=root


jdbc.orcl.password=root


 


#============================================================================


# common settings


#============================================================================


jdbc.initialSize=5


jdbc.minIdle=5


jdbc.maxIdle=20


jdbc.maxActive=100


jdbc.maxWait=100000


jdbc.defaultAutoCommit=false


jdbc.removeAbandoned=true


jdbc.removeAbandonedTimeout=600


jdbc.testWhileIdle=true


jdbc.timeBetweenEvictionRunsMillis=60000


jdbc.numTestsPerEvictionRun=20


jdbc.minEvictableIdleTimeMillis=300000

  mybatis-config.xml配置










1


2


3


4


5


6


7


8


9


10


11


12


13


14



<?
xml 
version=”1.0” encoding=”UTF-8”?>


<!
DOCTYPE 
configuration PUBLIC


        
“-//mybatis.org//DTD Config 3.0//EN”


        
“http://mybatis.org/dtd/mybatis-3-config.dtd"&gt;


<
configuration
>


    
<
settings
>


        
<!— setting name=”cacheEnable” value=”true”/—>


        
<
setting 
name=”useGeneratedKeys” value=”false”/>


        
<
setting 
name=”logImpl” value=”LOG4J”/>
<!—增加mybatis日志—>


    
</
settings
>


    
<
mappers
>


        
<!—<mapper resource=”com/liuwenjian/mappers/userMapper.xml” />—>


    
</
mappers
>


</
configuration
>

  spring-mvc.xml配置

前端模板解析最常用的是内置jsp,velocity和freemarker,这边选择的是freemarker










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40


41


42


43


44


45


46


47


48


49


50


51


52


53


54


55


56


57


58


59


60


61


62


63


64


65


66


67


68


69


70


71


72


73


74


75


76


77



<?
xml 
version=”1.0” encoding=”UTF-8”?>


<
beans 
xmlns=”http://www.springframework.org/schema/beans“


       
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“


       
xmlns:mvc=”http://www.springframework.org/schema/mvc“


       
xmlns:context=”http://www.springframework.org/schema/context“


       
xsi:schemaLocation=”


       
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd


       
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd


       
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"&gt;


 


    
<!— 启动Spring MVC的注解功能,完成请求和注解POJO的映射 —>


    
<
mvc:annotation-driven 
/>


 


    
<!— 使用注解的包,包括子集 —>


    
<
context:component-scan 
base-package=”com.liuwenjian.controller” />


 


    
<!— 解决js,css,images访问不到的问题—>


    
<
mvc:resources 
mapping=”/js/“ location=”/js/“ />


    
<
mvc:resources 
mapping=”/css/
“ location=”/css/“ />


    
<
mvc:resources 
mapping=”/images/“ location=”/images/“ />


    
<
mvc:resources 
mapping=”/template/
“ location=”/template/“ />


 


    
<!— 文件上传配置注意:这里申明的id必须为multipartResolver —>


    
<
bean 
id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”>


        
<
property 
name=”maxUploadSize” value=”500000”/>


    
</
bean
>


 


    
<!— 简单的异常处理 —>


    
<
bean 
id=”exceptionResolver” class=”org.springframework.web.servlet.handler.SimpleMappingExceptionResolver”>


        
<
property 
name=”exceptionMappings”>


            
<
props
>


                
<!— 映射目录为/WEB-INF/jsp/error/upload_error.jsp —>


                
<
prop 
key=”org.springframework.web.multipart.MaxUploadSizeExceededException”>/error/upload_error</
prop
>


            
</
props
>


        
</
property
>


    
</
bean
>


 


    
<!— freemarker配置资源文件引入—>


    
<
bean 
id=”freemarkerConfiguration”


          
class=”org.springframework.beans.factory.config.PropertiesFactoryBean”>


        
<
property 
name=”location” value=”classpath:config/freemarker.properties” />


    
</
bean
>


 


    
<!— 配置freeMarker的模板路径 —>


    
<
bean 
id=”freemarkerConfig” class=”org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer”>


        
<
property 
name=”templateLoaderPath”>


            
<
value
>/WEB-INF/views/</
value
>


        
</
property
>


        
<
property 
name=”freemarkerVariables”>


            
<
map
>


                
<
entry 
key=”xml_escape” value-ref=”fmXmlEscape”/>


            
</
map
>


        
</
property
>


        
<
property 
name=”freemarkerSettings” ref=”freemarkerConfiguration”></
property
>


    
</
bean
>


 


    
<
bean 
id=”fmXmlEscape” class=”freemarker.template.utility.XmlEscape”/>


 


    
<!— 针对freemarker的视图解析器配置 —>


    
<
bean 
id=”viewResolver” class=”org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver”>


        
<
property 
name=”cache” value=”true” />


        
<
property 
name=”prefix” value=”” />


        
<
property 
name=”suffix” value=”.ftl” />


        
<
property 
name=”viewClass”>


            
<
value
>org.springframework.web.servlet.view.freemarker.FreeMarkerView


            
</
value
>


        
</
property
>


        
<
property 
name=”contentType” value=”text/html;charset=UTF-8”></
property
>


        
<!— 在ftl页面中使用request.contextPath就可以获得contextPath—>


        
<
property 
name=”requestContextAttribute” value=”request” />


        
<!— 使用这些宏,必须设置FreeMarkerViewResolver的exposeMacroHelpers属性为true —>


        
<
property 
name=”exposeSpringMacroHelpers” value=”true” />


        
<!— 将请求和会话属性作为变量暴露给freemaker模板使用—>


        
<
property 
name=”exposeRequestAttributes” value=”true” />


        
<
property 
name=”exposeSessionAttributes” value=”true” />


    
</
bean
>


</
beans


  freemarker.properties配置










1


2


3


4


5


6


7


8


9


10


11



tag_syntax=auto_detect


template_update_delay=60//模板更新时间


default_encoding=UTF-8//默认编码


output_encoding=UTF-8//输出编码


locale=zh_CN//使用语言


date_format=yyyy-MM-dd


time_format=HH:mm:ss


datetime_format=yyyy-MM-dd HH:mm:ss


number_format=0.##########


classic_compatible=true


template_exception_handler=ignore//模板类型处理

  log4j.properties配置










1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34


35


36


37


38


39


40


41


42



##define output style


ConversionPattern=%d %-5p [%t] %c - %m%n


 


log4j.rootLogger=DEBUG,Console


log4j.logger.com.cnblogs.lzrabbit=DEBUG


log4j.logger.org.springframework=ERROR


log4j.logger.org.mybatis=ERROR


log4j.logger.org.apache.ibatis=ERROR


log4j.logger.org.quartz=ERROR


log4j.logger.org.apache.axis2=ERROR


log4j.logger.org.apache.axiom=ERROR


log4j.logger.org.apache=ERROR


log4j.logger.httpclient=ERROR


#log4j.additivity.org.springframework=false


#Console


log4j.appender.Console=org.apache.log4j.ConsoleAppender


log4j.appender.Console.Threshold=DEBUG 


log4j.appender.Console.Target=System.out 


log4j.appender.Console.layout=org.apache.log4j.PatternLayout 


log4j.appender.Console.layout.ConversionPattern=${ConversionPattern}


#log4j.appender.Console.encoding=UTF-8


 


#org.apache.log4j.DailyRollingFileAppender


log4j.appender.DailyFile=org.apache.log4j.DailyRollingFileAppender


log4j.appender.DailyFile.DatePattern=’.’yyyy-MM-dd’.log’


log4j.appender.DailyFile.File=${myApp.root}/logs/daily.log


log4j.appender.DailyFile.Append=true


log4j.appender.DailyFile.Threshold=DEBUG


log4j.appender.DailyFile.layout=org.apache.log4j.PatternLayout


log4j.appender.DailyFile.layout.ConversionPattern=${ConversionPattern}


log4j.appender.DailyFile.encoding=UTF-8


 


#    %c 输出日志信息所属的类的全名


#    %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss},


#      输出类似:2016-03-10 22:10:11


#    %f 输出日志信息所属的类的类名


#    %l 输出日志事件的发生位置,即输出日志信息的的语句处于它所在的类的第几行


#    %m 输出代码中指定的信息,如log(message)中的message


#    %n 输出一个回车换行符,Windows平台为”rn”,Unix平台为”n”


#    %p 输出优先级,即DEBUG.INFO,WARN,ERROR,FATAL.如果是调用debug()输出的,则为DEBUG,以此类推


#    %r 输出自应用启动到输出该日志信息所耗费的毫秒数


#    %t 输出产生该日志的线程名

在pom文件内部,已添加内嵌jetty服务器,可以直接使用。

856319-20160312234405022-2061758981.png

856319-20160312234542538-584324668.png

配置完成,就可以使用内嵌的服务器启动了

发表评论

表情:
评论列表 (有 0 条评论,329人围观)

还没有评论,来说两句吧...

相关阅读

    相关 idea创建spring项目

    最近在总结spring的知识,想从头到尾总结一下。   我们知道spring是一个强大的控制反转(IOC)的框架,他帮助分离我们企业项目的依赖关系。 这里使用idea创建