最近公司运用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