最近公司运用springboot构建项目,确实比ssh搭建要快很多。
1.首先要下载maven,用maven管理项目很方便,下载完maven配置好环境,maven我就不细说了。
2.创建一个maven项目,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
|
<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/xsd/maven-4.0.0.xsd" >
<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方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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下创建一个类如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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文件
文件内容如下配置:
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
|
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= 50
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= 8080
server.session-timeout= 30
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的官网
该文件的全部参数配置;如下(摘自官网)
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
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
|
# ===================================================================
# 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= 8080
server.address= # bind to a specific nic
server.session-timeout= # session timeout in seconds
server.context-path= # the context path, defaults to '/'
server.servlet-path= # the servlet path, defaults to '/'
server.ssl.client-auth= # want or need
server.ssl.key-alias=
server.ssl.key-password=
server.ssl.key-store=
server.ssl.key-store-password=
server.ssl.key-store-provider=
server.ssl.key-store-type=
server.ssl.protocol=tls
server.ssl.trust-store=
server.ssl.trust-store-password=
server.ssl.trust-store-provider=
server.ssl.trust-store-type=
server.tomcat.access-log-pattern= # log pattern of the access log
server.tomcat.access-log-enabled= false # is access logging enabled
server.tomcat.internal-proxies= 10 \.\d{ 1 , 3 }\.\d{ 1 , 3 }\.\d{ 1 , 3 }|\
192 \. 168 \.\d{ 1 , 3 }\.\d{ 1 , 3 }|\
169 \. 254 \.\d{ 1 , 3 }\.\d{ 1 , 3 }|\
127 \.\d{ 1 , 3 }\.\d{ 1 , 3 }\.\d{ 1 , 3 } # regular expression matching trusted ip addresses
server.tomcat.protocol-header=x-forwarded-proto # front end proxy forward header
server.tomcat.port-header= # front end proxy port header
server.tomcat.remote-ip-header=x-forwarded- for
server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
server.tomcat.background-processor-delay= 30 ; # in seconds
server.tomcat.max-threads = 0 # number of threads in protocol handler
server.tomcat.uri-encoding = utf- 8 # character encoding to use for url decoding
# spring mvc (httpmapperproperties)
http.mappers.json-pretty-print= false # pretty print json
http.mappers.json-sort-keys= false # sort keys
spring.mvc.locale= # set fixed locale, e.g. en_uk
spring.mvc.date-format= # set fixed date format, e.g. dd/mm/yyyy
spring.mvc.message-codes-resolver-format= # prefix_error_code / postfix_error_code
spring.view.prefix= # mvc view prefix
spring.view.suffix= # ... and suffix
spring.resources.cache-period= # cache timeouts in headers sent to browser
spring.resources.add-mappings= true # if default mappings should be added
# 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.iso8601dateformat)
spring.jackson.property-naming-strategy= # one of the constants on jackson's propertynamingstrategy (e.g. camel_case_to_lower_case_with_underscores) or the fully-qualified class name of a propertynamingstrategy subclass
spring.jackson.deserialization.*= # see jackson's deserializationfeature
spring.jackson.generator.*= # see jackson's jsongenerator.feature
spring.jackson.mapper.*= # see jackson's mapperfeature
spring.jackson.parser.*= # see jackson's jsonparser.feature
spring.jackson.serialization.*= # see jackson's serializationfeature
# 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= false
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
security.basic.realm=spring
security.basic.path= # /**
security.filter-order= 0
security.headers.xss= false
security.headers.cache= false
security.headers.frame= false
security.headers.contenttype= false
security.headers.hsts=all # none / domain / all
security.sessions=stateless # always / never / if_required / stateless
security.ignored= false
# datasource (datasourceautoconfiguration & datasourceproperties)
spring.datasource.name= # name of the data source
spring.datasource.initialize= true # populate using data.sql
spring.datasource.schema= # a schema (ddl) script resource reference
spring.datasource.data= # a data (dml) script resource reference
spring.datasource.sqlscriptencoding= # a charset for reading sql scripts
spring.datasource.platform= # the platform to use in the schema resource (schema-${platform}.sql)
spring.datasource.continueonerror= false # continue even if can't be initialized
spring.datasource.separator=; # statement separator in sql initialization scripts
spring.datasource.driver- class -name= # jdbc settings...
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.jndi-name # for jndi lookup ( class , url, username & password are ignored when set)
spring.datasource.max-active= 100 # advanced configuration...
spring.datasource.max-idle= 8
spring.datasource.min-idle= 8
spring.datasource.initial-size= 10
spring.datasource.validation-query=
spring.datasource.test-on-borrow= false
spring.datasource.test-on- return = false
spring.datasource.test- while -idle=
spring.datasource.time-between-eviction-runs-millis=
spring.datasource.min-evictable-idle-time-millis=
spring.datasource.max-wait=
# mongodb (mongoproperties)
spring.data.mongodb.host= # the db host
spring.data.mongodb.port= 27017 # the connection port (defaults to 27107 )
spring.data.mongodb.uri=mongodb: //localhost/test # connection url
spring.data.mongo.repositories.enabled= true # if spring data repository support is enabled
# jpa (jpabaseconfiguration, hibernatejpaautoconfiguration)
spring.jpa.properties.*= # properties to set on the jpa connection
spring.jpa.openinview= true
spring.jpa.show-sql= true
spring.jpa.database-platform=
spring.jpa.database=
spring.jpa.generate-ddl= false # ignored by hibernate, might be useful for other vendors
spring.jpa.hibernate.naming-strategy= # naming classname
spring.jpa.hibernate.ddl-auto= # defaults to create-drop for embedded dbs
spring.data.jpa.repositories.enabled= true # if spring data repository support is enabled
# jta (jtaautoconfiguration)
spring.jta.log-dir= # transaction log dir
spring.jta.*= # technology specific configuration
# solr (solrproperties})
spring.data.solr.host=http: //127.0.0.1:8983/solr
spring.data.solr.zkhost=
spring.data.solr.repositories.enabled= true # if spring data repository support is enabled
# elasticsearch (elasticsearchproperties})
spring.data.elasticsearch.cluster-name= # the cluster name (defaults to elasticsearch)
spring.data.elasticsearch.cluster-nodes= # the address(es) of the server node (comma-separated; if not specified starts a client node)
spring.data.elasticsearch.repositories.enabled= true # if spring data repository support is enabled
# data reset (repositoryrestconfiguration})
spring.data.rest.baseuri=foo # base uri against which the exporter should calculate its links
# flyway (flywayproperties)
flyway.locations=classpath:db/migrations # locations of migrations scripts
flyway.schemas= # schemas to update
flyway.initversion= 1 # version to start migration
flyway.sql-migration-prefix=v
flyway.sql-migration-suffix=.sql
flyway.enabled= true
flyway.url= # jdbc url if you want flyway to create its own datasource
flyway.user= # jdbc username if you want flyway to create its own datasource
flyway.password= # jdbc password if you want flyway to create its own datasource
# liquibase (liquibaseproperties)
liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml
liquibase.contexts= # runtime contexts to use
liquibase. default -schema= # default database schema to use
liquibase.drop-first= false
liquibase.enabled= true
liquibase.url= # specific jdbc url ( if not set the default datasource is used)
liquibase.user= # user name for liquibase.url
liquibase.password= # password for liquibase.url
# jmx
spring.jmx.enabled= true # expose mbeans from spring
# rabbit (rabbitproperties)
spring.rabbitmq.host= # connection host
spring.rabbitmq.port= # connection port
spring.rabbitmq.addresses= # connection addresses (e.g. myhost: 9999 ,otherhost: 1111 )
spring.rabbitmq.username= # login user
spring.rabbitmq.password= # login password
spring.rabbitmq.virtualhost=
spring.rabbitmq.dynamic=
# redis (redisproperties)
spring.redis.host=localhost # server host
spring.redis.password= # server password
spring.redis.port= 6379 # connection port
spring.redis.pool.max-idle= 8 # pool settings ...
spring.redis.pool.min-idle= 0
spring.redis.pool.max-active= 8
spring.redis.pool.max-wait=- 1
spring.redis.sentinel.master= # name of redis server
spring.redis.sentinel.nodes= # comma-separated list of host:port pairs
# activemq (activemqproperties)
spring.activemq.broker-url=tcp: //localhost:61616 # connection url
spring.activemq.user=
spring.activemq.password=
spring.activemq.in-memory= true # broker kind to create if no broker-url is specified
spring.activemq.pooled= false
# hornetq (hornetqproperties)
spring.hornetq.mode= # connection mode ( native , embedded)
spring.hornetq.host=localhost # hornetq host ( native mode)
spring.hornetq.port= 5445 # hornetq port ( native mode)
spring.hornetq.embedded.enabled= true # if the embedded server is enabled (needs hornetq-jms-server.jar)
spring.hornetq.embedded.serverid= # auto-generated id of the embedded server (integer)
spring.hornetq.embedded.persistent= false # message persistence
spring.hornetq.embedded.data-directory= # location of data content (when persistence is enabled)
spring.hornetq.embedded.queues= # comma-separated queues to create on startup
spring.hornetq.embedded.topics= # comma-separated topics to create on startup
spring.hornetq.embedded.cluster-password= # customer password (randomly generated by default )
# jms (jmsproperties)
spring.datasource.jndi-name= # jndi location of a jms connectionfactory
spring.jms.pub-sub-domain= # false for queue ( default ), true for topic
# spring batch (batchdatabaseinitializer)
spring.batch.job.names=job1,job2
spring.batch.job.enabled= true
spring.batch.initializer.enabled= true
spring.batch.schema= # batch schema to load
# aop
spring.aop.auto=
spring.aop.proxy-target- class =
# file encoding (fileencodingapplicationlistener)
spring.mandatory-file-encoding= false
# spring social (socialwebautoconfiguration)
spring.social.auto-connection-views= true # set to true for default connection views or false if you provide your own
# spring social facebook (facebookautoconfiguration)
spring.social.facebook.app-id= # your application's facebook app id
spring.social.facebook.app-secret= # your application's facebook app secret
# spring social linkedin (linkedinautoconfiguration)
spring.social.linkedin.app-id= # your application's linkedin app id
spring.social.linkedin.app-secret= # your application's linkedin app secret
# spring social twitter (twitterautoconfiguration)
spring.social.twitter.app-id= # your application's twitter app id
spring.social.twitter.app-secret= # your application's twitter app secret
# spring mobile site preference (sitepreferenceautoconfiguration)
spring.mobile.sitepreference.enabled= true # enabled by default
# spring mobile device views (devicedelegatingviewresolverautoconfiguration)
spring.mobile.devicedelegatingviewresolver.enabled= true # disabled by default
spring.mobile.devicedelegatingviewresolver.normalprefix=
spring.mobile.devicedelegatingviewresolver.normalsuffix=
spring.mobile.devicedelegatingviewresolver.mobileprefix=mobile/
spring.mobile.devicedelegatingviewresolver.mobilesuffix=
spring.mobile.devicedelegatingviewresolver.tabletprefix=tablet/
spring.mobile.devicedelegatingviewresolver.tabletsuffix=
# ----------------------------------------
# actuator properties
# ----------------------------------------
# management http server (managementserverproperties)
management.port= # defaults to 'server.port'
management.address= # bind to a specific nic
management.contextpath= # default to '/'
management.add-application-context-header= # default to true
# endpoints (abstractendpoint subclasses)
endpoints.autoconfig.id=autoconfig
endpoints.autoconfig.sensitive= true
endpoints.autoconfig.enabled= true
endpoints.beans.id=beans
endpoints.beans.sensitive= true
endpoints.beans.enabled= true
endpoints.configprops.id=configprops
endpoints.configprops.sensitive= true
endpoints.configprops.enabled= true
endpoints.configprops.keys-to-sanitize=password,secret,key # suffix or regex
endpoints.dump.id=dump
endpoints.dump.sensitive= true
endpoints.dump.enabled= true
endpoints.env.id=env
endpoints.env.sensitive= true
endpoints.env.enabled= true
endpoints.env.keys-to-sanitize=password,secret,key # suffix or regex
endpoints.health.id=health
endpoints.health.sensitive= false
endpoints.health.enabled= true
endpoints.health.time-to-live= 1000
endpoints.info.id=info
endpoints.info.sensitive= false
endpoints.info.enabled= true
endpoints.metrics.id=metrics
endpoints.metrics.sensitive= true
endpoints.metrics.enabled= true
endpoints.shutdown.id=shutdown
endpoints.shutdown.sensitive= true
endpoints.shutdown.enabled= false
endpoints.trace.id=trace
endpoints.trace.sensitive= true
endpoints.trace.enabled= true
# health indicators
health.diskspace.path=.
health.diskspace.threshold= 10485760
# mvc only endpoints
endpoints.jolokia.path=jolokia
endpoints.jolokia.sensitive= true
endpoints.jolokia.enabled= true # when using jolokia
# jmx endpoint (endpointmbeanexportproperties)
endpoints.jmx.enabled= true
endpoints.jmx.domain= # the jmx domain, defaults to 'org.springboot'
endpoints.jmx.unique-names= false
endpoints.jmx.staticnames=
# jolokia (jolokiaproperties)
jolokia.config.*= # see jolokia manual
# remote shell
shell.auth=simple # jaas, key, simple, spring
shell.command-refresh-interval=- 1
shell.command-path-patterns= # classpath*:/commands/**, classpath*:/crash/commands/**
shell.config-path-patterns= # classpath*:/crash/*
shell.disabled-plugins= false # don't expose plugins
shell.ssh.enabled= # ssh settings ...
shell.ssh.keypath=
shell.ssh.port=
shell.telnet.enabled= # telnet settings ...
shell.telnet.port=
shell.auth.jaas.domain= # authentication settings ...
shell.auth.key.path=
shell.auth.simple.user.name=
shell.auth.simple.user.password=
shell.auth.spring.roles=
# git info
spring.git.properties= # resource ref to generated git info properties file
|
7.找到com.boot下的application以java application方式启动,然后打开浏览器输入localhost:8080就会出现hello world!
这样一个简单的web开发就搭建好了。
8.启动图片:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/suncj/p/4065589.html