1.å¦ä½ç¨springbootå建mavençä¾èµå·¥ç¨
2.springçä¸è½½å®è£
3.求shop++的源码eclpse源码源代码
å¦ä½ç¨springbootå建mavençä¾èµå·¥ç¨
æè¿å ¬å¸è¿ç¨springbootæ建项ç®ï¼ç¡®å®æ¯sshæ建è¦å¿«å¾å¤ãspringbootå®æ¹å¦ä¹ ç½ç«
1.é¦å è¦ä¸è½½mavenï¼ç¨maven管ç项ç®å¾æ¹ä¾¿ï¼ä¸è½½å®mavené 置好ç¯å¢ï¼mavenæå°±ä¸ç»è¯´äºã
2.å建ä¸ä¸ªmaven项ç®ï¼pom.xmlæ件éé¢åè¿äº:
<modelVersion>4.0.0</modelVersion>
<groupId>springboot</groupId>
<artifactId>testSpringBoot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>testSpringBoot</name>
<packaging>jar</packaging>
<!-- 继æ¿ç¶å -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.3.RELEASE</version>
<relativePath></relativePath>
</parent>
<!-- spring-bootçwebå¯å¨çjarå -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jpaçjarå ï¼æä½æ°æ®åºçï¼ç±»ä¼¼hibernate-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--mysql驱å¨-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--thymeleaf模æ¿jarï¼æ¯å¾ä¸éçhtmlæ°æ®ä¼ éåå¼ï¼ç±»ä¼¼jspçjstl-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<!--mavençæ件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- é ç½®javaçæ¬ ä¸é ç½®çè¯é»è®¤ç¶ç±»é ç½®çæ¯1.6-->
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
3.å建çæ件ç®å½å¦å¾:
4.å¨com.boot(å³æå¤å±ç®å½æ件)ä¸åä¸ä¸ªå¦ä¸mainæ¹æ³:
package com.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
5.å¨com.boot.webä¸å建ä¸ä¸ªç±»å¦ä¸:
package com.boot.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MainController {
// @RequestMapping("")
// public String index(){
// return "examples/index";
// }
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
}
@RequestMapping @ResponseBody
è¿ä¸¤ä¸ªæ³¨è§£é½æ¯springMVCç,ä¸æå¾å¯ä»¥çspringMVC
6.å¨resourcesä¸å¢å ä¸ä¸ªapplication.propertiesæ件
æ件å 容å¦ä¸é ç½®:
spring.datasource.platform=mysql
spring.datasource.url=jdbc:mysql://localhost/springboot?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&failOverReadOnly=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
# Advanced configuration...
spring.datasource.max-active=
spring.datasource.max-idle=6
spring.datasource.min-idle=2
spring.datasource.initial-size=6
#create table
spring.jpa.hibernate.ddl-auto=validate
server.port=
server.session-timeout=
server.tomcat.uri-encoding=UTF-8
spring.thymeleaf.prefix=classpath:templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
该æ件çé ç½®å¯ä»¥åèspringbootçå®ç½
该æ件çå ¨é¨åæ°é ç½®ï¼å¦ä¸(æèªå®ç½)
# ===================================================================
# COMMON SPRING BOOT PROPERTIES
#
# This sample file is provided as a guideline. Do NOT copy it in its
# entirety to your own application. ^^^
# ===================================================================
# ----------------------------------------
# CORE PROPERTIES
# ----------------------------------------
# SPRING CONFIG (ConfigFileApplicationListener)
spring.config.name= # config file name (default to 'application')
spring.config.location= # location of config file
# PROFILES
spring.profiles.active= # comma list of active profiles
# APPLICATION SETTINGS (SpringApplication)
spring.main.sources=
spring.main.web-environment= # detect by default
spring.main.show-banner=true
spring.main....= # see class for all properties
# LOGGING
logging.path=/var/logs
logging.file=myapp.log
logging.config= # location of config file (default classpath:logback.xml for logback)
logging.level.*= # levels for loggers, e.g. "logging.level.org.springframework=DEBUG" (TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF)
# IDENTITY (ContextIdApplicationContextInitializer)
spring.application.name=
spring.application.index=
# EMBEDDED SERVER CONFIGURATION (ServerProperties)
server.port=
# JACKSON (JacksonProperties)
spring.jackson.date-format= # Date format string (e.g. yyyy-MM-dd HH:mm:ss), or a fully-qualified date format class name (e.g. com.fasterxml.jackson.databind.util.ISODateFormat)
spring.jackson.property-naming-strategy= # One of the constants on Jackson's PropertyNamingStrategy (e.g.
# THYMELEAF (ThymeleafAutoConfiguration)
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html # ;charset=<encoding> is added
spring.thymeleaf.cache=true # set to false for hot refresh
# FREEMARKER (FreeMarkerAutoConfiguration)
spring.freemarker.allowRequestOverride=false
spring.freemarker.cache=true
spring.freemarker.checkTemplateLocation=true
spring.freemarker.charSet=UTF-8
spring.freemarker.contentType=text/html
spring.freemarker.exposeRequestAttributes=falseshell.ssh.keyPath=
shell.ssh.port=
shell.telnet.enabled= # telnet settings ...
shell.telnet.port=
shell.auth.jaas.domain= # authentication settings ...
shell.auth.key.path=
shell.authwww.meidiyazx.com/sitemap.txtname=
shell.authwww.meidiyazx.com/sitemap.txtpassword=
shell.auth.spring.roles=spring.freemarker.exposeSessionAttributes=false
spring.freemarker.exposeSpringMacroHelpers=false
spring.freemarker.prefix=
spring.freemarker.requestContextAttribute=
spring.freemarker.settings.*=
spring.freemarker.suffix=.ftl
spring.freemarker.templateLoaderPath=classpath:/templates/ # comma-separated list
spring.freemarker.viewNames= # whitelist of view names that can be resolved
# GROOVY TEMPLATES (GroovyTemplateAutoConfiguration)
spring.groovy.template.cache=true
spring.groovy.template.charSet=UTF-8
spring.groovy.template.configuration.*= # See Groovy's TemplateConfiguration
spring.groovy.template.contentType=text/html
spring.groovy.template.prefix=classpath:/templates/
spring.groovy.template.suffix=.tpl
spring.groovy.template.viewNames= # whitelist of view names that can be resolved
# VELOCITY TEMPLATES (VelocityAutoConfiguration)
spring.velocity.allowRequestOverride=false
spring.velocity.cache=true
spring.velocity.checkTemplateLocation=true
spring.velocity.charSet=UTF-8
spring.velocity.contentType=text/html
spring.velocity.dateToolAttribute=
spring.velocity.exposeRequestAttributes=false
spring.velocity.exposeSessionAttributes=false
spring.velocity.exposeSpringMacroHelpers=false
spring.velocity.numberToolAttribute=
spring.velocity.prefix=
spring.velocity.properties.*=
spring.velocity.requestContextAttribute=
spring.velocity.resourceLoaderPath=classpath:/templates/
spring.velocity.suffix=.vm
spring.velocity.viewNames= # whitelist of view names that can be resolved
# INTERNATIONALIZATION (MessageSourceAutoConfiguration)
spring.messages.basename=messages
spring.messages.cacheSeconds=-1
spring.messages.encoding=UTF-8
# SECURITY (SecurityProperties)
security.user.name=user # login username
security.user.password= # login password
security.user.role=USER # role assigned to the user
security.require-ssl=false # advanced settings ...
security.enable-csrf=false
security.basic.enabled=true
spring.batch.schema= # batch schema to load
# AOP
spring.aop.auto=
# GIT INFO
spring.git.properties= # resource ref to generated git info properties file
7.æ¾å°com.bootä¸çApplication以java Applicationæ¹å¼å¯å¨ï¼ç¶åæå¼æµè§å¨è¾å ¥localhost:å°±ä¼åºç°Hello World!
è¿æ ·ä¸ä¸ªç®åçwebå¼åå°±æ建好äºã
springçä¸è½½å®è£
ä¸è½½åå®è£ Spring请æå¦ä¸æ¥éª¤è¿è¡ãï¼1ï¼ç»å½ç«ç¹ï¼ä¸è½½Springçææ°ç¨³å®çæ¬ãææ°çæ¬ä¸ºspring-framework-4.0.建议ä¸è½½spring-framework-spring-framework-4.0.0.M2-distè¿ä¸ªå缩å ä¸ä» å å«Springçå¼åå ï¼èä¸å å«Springç¼è¯åè¿è¡æä¾èµç第ä¸æ¹ç±»åºã
解å缩ä¸è½½å°çå缩å ï¼è§£å缩åçæ件夹åºç¨å¦ä¸å 个æ件夹ã
distï¼è¯¥æ件夹ä¸æ¾Springçjarå ï¼é常åªéè¦Spring.jaræ件å³å¯ã该æ件夹ä¸è¿æä¸äºç±»ä¼¼springï¼Xxx.jarçå缩å ï¼ è¿äºå缩å æ¯spring.jarå缩å çå模åå缩å ãé¤éç¡®å®æ´ä¸ªJ2EEåºç¨åªéè¦ä½¿ç¨Springçæä¸æ¹é¢æ¶ï¼æèè使ç¨è¿ç§å模åå缩å ãé常建议使ç¨Spring.jar
docsï¼è¯¥æ件夹ä¸å å«springçç¸å ³ææ¡£ãå¼åæååAPIåèææ¡£ã
libï¼è¯¥æ件夹ä¸å å«springç¼è¯åè¿è¡æä¾èµç第ä¸æ¹ç±»åºï¼è¯¥è·¯å¾ä¸çç±»åºå¹¶ä¸æ¯springå¿ éçï¼ä½å¦æéè¦ä½¿ç¨ç¬¬ä¸æ¹ç±»åºçæ¯æï¼è¿éçç±»åºå°±æ¯å¿ éè¦çã
samplesï¼è¯¥æ件夹ä¸å å«Springçå 个ç®åä¾åï¼å¯ä½ä¸ºSpringå ¥é¨å¦ä¹ çæ¡ä¾ã
srcï¼è¯¥æ件夹ä¸å å«Springçå ¨é¨æºæ件ï¼å¦æå¼åè¿ç¨ä¸æå°æ¹æ æ³ææ¡ï¼å¯ä»¥åè该æºæ件ï¼äºè§£åºå±å®ç°ã
testï¼è¯¥æ件夹ä¸å å«Springçæµè¯ç¤ºä¾ã
tigerï¼è¯¥è·¯å¾ä¸åæ¾å ³äºJDKçç¸å ³å 容
解å缩åçæ件夹ä¸ï¼è¿å å«ä¸äºå ³äºSpringçLicenseå项ç®ç¸å ³æ件
ï¼2ï¼å°spring.jarå¤å¶å°é¡¹ç®çCLASSPATHè·¯å¾ä¸ï¼å¯¹äºWebåºç¨ï¼å°spring.jaræ件å¤å¶å°WEB-INF/libè·¯å¾ä¸ï¼è¯¥åºç¨å³å¯ä»¥å©ç¨Springæ¡æ¶äºã
ï¼3ï¼é常Springçæ¡æ¶è¿ä¾èµäºå ¶ä»ä¸äºjaræ件ï¼å æ¤è¿é¡»å°libä¸å¯¹åºçå å¤å¶å°WEB-INF/libè·¯å¾ä¸ï¼å ·ä½è¦å¤å¶åªäºjaræ件ï¼åå³äºåºç¨æéè¦ä½¿ç¨ç项ç®ãé常éè¦å¤å¶cglibï¼dom4jï¼jakarta-commonsï¼log4jçæ件夹ä¸çjaræ件ã
ï¼4ï¼ä¸ºäºç¼è¯javaæ件ï¼å¯ä»¥æ¾å°Springçåºç¡ç±»ï¼å°Spring.jaræ件çè·¯å¾æ·»å å°ç¯å¢åéCLASSPATHä¸ãå½ç¶ï¼ä¹å¯ä»¥ä½¿ç¨ANTå·¥å ·ï¼ä½æ 须添å ç¯å¢åéãå¦æ使ç¨Eclipseæè NetBeansçIDEæ¶ï¼ä¹ä¸éè¦è®¾ç½®ç¯å¢åéã
Spring MVC
ä¼ ç»çwebæ¶æçview 表ç°å±ä½¿ç¨strutsä½ä¸ºè¡¨ç°å±ãä½æ¯å¦æè¯ç¨ä¸springèªå¸¦çMVCï¼ä¼åç°spring å¨ä¸è¬åºåå®å ¨å¯ä»¥å代strutsãä»æäºè§åº¦æ¥è¯´ï¼springçmvc设计çæ´å åçï¼æå ´è¶£çè¯ä¸å¦¨å°è¯ä¸å个çspringçMVCã
求shop++的源代码
主要库
spring-aop-4.0.9.RELEASE
spring-beans-4.0.9.RELEASE
spring-context-4.0.9.RELEASE
spring-context-support-4.0.9.RELEASE
spring-core-4.0.9.RELEASE
spring-expression-4.0.9.RELEASE
spring-jdbc-4.0.9.RELEASE
spring-orm-4.0.9.RELEASE
spring-test-4.0.9.RELEASE
spring-tx-4.0.9.RELEASE
spring-web-4.0.9.RELEASE
spring-webmvc-4.0.9.RELEASE
hibernate-core-4.3.9.Final
hibernate-jpa-2.1-api-1.0.0.Final
hibernate-entitymanager-4.3.9.Final
hibernate-validator-5.1.3.Final
hibernate-search-orm-4.5.3.Final
lucene-core-3.6.2
freemarker-2.3.
ehcache-core-2.6.
ehcache-web-2.0.4
shiro-core-1.2.3
shiro-web-1.2.3
c3p0-0.9.2.1
commons-lang-2.6
commons-beanutils-1.9.2
commons-collections-3.2.1
commons-io-2.4
commons-net-3.3
commons-fileupload-1.3.1
commons-codec-1.
commons-email-1.3.3
commons-compress-1.9
junit-4.
httpclient-4.3.5
httpcore-4.3.2
slf4j-api-1.7.7
jcl-over-slf4j-1.7.7
logback-core-1.1.2
logback-classic-1.1.2
dom4j-1.6.1
jackson-core-2.4.3
jackson-databind-2.4.3
jackson-annotations-2.4.3
IKAnalyzer_u6