博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot成神之——springboot入门使用
阅读量:5044 次
发布时间:2019-06-12

本文共 7612 字,大约阅读时间需要 25 分钟。

springboot创建webservice访问mysql(使用maven)

安装

使用maven,在你的pom.xml中添加如下配置
org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
true
org.springframework.boot
spring-boot-maven-plugin
maven package 测试是否安装成功mvn dependency:tree 查看你的安装依赖

起步

src/main/java 下面添加一个类,假如如下代码import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.web.bind.annotation.*;@SpringBootApplication                                                          // 声明主程序类@RestController                                                                 // 声明我们的类是一个web容器@EnableAutoConfiguration                                                        // 自动配置springpublic class first {    @RequestMapping("/")                                                        // 监听("/")路由,返回字符串    String home() {        return "Hello World!";    }    public static void main(String[] args) {        SpringApplication.run(first.class, args);                               // 开启tomcat服务器,运行程序    }}如果端口冲突,可以配置tomcat的端口在src/main/resources/创建文件application.properties加入 server.port=8888# application.properties文件的格式application.name=@project.name@application.version=@project.version@1. maven运行spring     运行 mvn spring-boot:run2. 打包成可执行文件执行    运行 mvn package 打包war文件    运行 jar tvf FirstMaven-0.0.1-SNAPSHOT.war 查看war包里面的内容    运行 java -jar FirstMaven-0.0.1-SNAPSHOT.war 运行可执行文件    访问 http://localhost:8888/#/

spring常用命令

mvn dependency:tree                                                 查看依赖mvn spring-boot:run                                                 运行程序mvn package                                                         打包程序jar tvf myproject-0.0.1-SNAPSHOT.jar                                查看jar包内部信息java -jar myproject-0.0.1-SNAPSHOT.jar                              运行你的jar包

spring常见注释

@RestController                                                     声明是一个控制器和@Controller等效,用来处理网络请求@RequestMapping                                                     声明请求的路径@Autowired                                                          自动注入,你可以使用构造器注入来代替@Autowired,如下    public class DatabaseAccountService implements AccountService {        private final RiskAssessor riskAssessor;        public DatabaseAccountService(RiskAssessor riskAssessor) {            this.riskAssessor = riskAssessor;        }    }    public class DatabaseAccountService implements AccountService {        @Autowired         RiskAssessor riskAssessor;    }    上面两者等价@SpringBootApplication                                              等价于开启@EnableAutoConfiguration,@ComponentScan,@Configuration@EnableAutoConfiguration                                            开启spring默认依赖配置@ComponentScan                                                      如果这个添加入口文件,那么可以扫描到@Component, @Service, @Repository, @Controller声明的文件,并且自动注册成bean@Configuration                                                      允许配置其他的bean和使用@Import导入其他配置类@Import                                                             导入其他配置类@Import({ MyConfig.class, MyAnotherConfig.class })

springboot入门级使用

配置你的pom.xml文件

org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE
1.8
1.8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-jdbc
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005

配置文件

application.properties    spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&allowPublicKeyRetrieval=true    spring.datasource.username=root    spring.datasource.password=123    spring.datasource.driver-class-name=com.mysql.jdbc.Driver    spring.datasource.max-idle=10    spring.datasource.max-wait=1000    spring.datasource.min-idle=5    spring.datasource.initial-size=5    server.port=8888    server.session.timeout=10    server.tomcat.uri-encoding=UTF-8

创建所需测试类

Greeting.java    public class Greeting {        private final long id;        private final String content;        public Greeting(long id, String content) {            this.id = id;            this.content = content;        }        public long getId() {            return id;        }        public String getContent() {            return content;        }    }GreetingController.java    import java.util.HashMap;    import java.util.List;    import java.util.Map;    import java.util.concurrent.atomic.AtomicLong;    import javax.security.auth.message.callback.PrivateKeyCallback.Request;    import org.springframework.beans.factory.annotation.Autowired;    import org.springframework.jdbc.core.JdbcTemplate;    import org.springframework.web.bind.annotation.CrossOrigin;    import org.springframework.web.bind.annotation.RequestMapping;    import org.springframework.web.bind.annotation.RequestMethod;    import org.springframework.web.bind.annotation.RequestParam;    import org.springframework.web.bind.annotation.RestController;    @RestController // 标记控制器返回一个域对象                                                                                  public class GreetingController {        @Autowired        private JdbcTemplate jdbcTemplate;        private static final String template = "Hello, %s!";        private final AtomicLong counter = new AtomicLong();        @CrossOrigin(origins = "http://localhost:8080") // 跨域设置        @RequestMapping("/greeting") // 绑定路由,支持get,post,put,限定路由方式的写法@RequestMapping(method=RequestMethod.GET,value="/greeting")        public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {            return new Greeting(counter.incrementAndGet(), String.format(template, name));        }                @CrossOrigin(origins = "http://localhost:8080")         @RequestMapping(method=RequestMethod.GET,value="/mytest")         public List
> mytest(@RequestParam(value="name", defaultValue="小红") String name) { // @RequestBody Map
params String sql = "select * from test WHERE name=?;"; List
> result = jdbcTemplate.queryForList(sql, name); return result; } }first.java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class first { public static void main(String[] args) { SpringApplication.run(first.class, args); } }

测试页面

    
Document

绑定路由的其他方式

@GetMapping("/employees")@GetMapping("/employees/{id}")@PostMapping("/employees")@PutMapping("/employees/{id}")@DeleteMapping("/employees/{id}")

转载于:https://www.cnblogs.com/ye-hcj/p/9592890.html

你可能感兴趣的文章
windows使用命令行,提高效率
查看>>
UITbleView操作总结
查看>>
在vc下打印参数串
查看>>
LeetCode 3Sum Closest
查看>>
HTTP协议(转)
查看>>
codevs1145
查看>>
图---DFS
查看>>
kuangbin专题十六 KMP&&扩展KMP HDU3746 Cyclic Nacklace
查看>>
递归算法,JavaScript实现
查看>>
java基本类型包装类
查看>>
【python学习】之五、可调用对象
查看>>
Hibernate双向多对多关联
查看>>
peewee
查看>>
linux坑
查看>>
java.lang.IllegalArgumentException: object is not an instance of declaring class
查看>>
JVM 垃圾回收机制和常见算法
查看>>
MongoDB连接数与连接优化
查看>>
go web的简单服务器
查看>>
用Bottle开发web程序(一)
查看>>
高级定时器TIM1&TIM8
查看>>