> 文档中心 > SpringBoot

SpringBoot


SpringBoot

HelloWorld

第一个http接口

@RestControllerpublic class HelloController {    @RequestMapping("/hello") public String hello() {  return "Hello World"; }    }
package com.example.springboot01helloword.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;@Controller@RequestMapping("/hello")public class HelloController {    @GetMapping("/hello")    @ResponseBody    public String hello(){ return "hello world!";    }}

yaml文件赋值

/*@ConfigurationProperties作用:将配置文件中配置的每一个属性的值,映射到这个组件中;告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定参数 prefix = “person” : 将配置文件中的person下面的所有属性一一对应*/@Component //注册bean@ConfigurationProperties(prefix = "person")public class Person { private String name; private Integer age; private Boolean happy; private Date birth; private Map<String,Object> maps; private List<Object> lists; private Dog dog;}
person:  name: qinjiang  age: 3  happy: false  birth: 2000/01/01  maps: {k1: v1,k2: v2}  lists:   - code   - girl   - music  dog:    name: 旺财    age: 1

配置文件占位符

person: name: qinjiang${random.uuid} # 随机uuid        age: ${random.int}  # 随机int        happy: false        birth: 2000/01/01 maps: {k1: v1,k2: v2} lists:- code- girl- music    dog:      name: ${person.hello:other}_旺财      age: 1

Thymeleaf

<html lang="en" xmlns:th="http://www.thymeleaf.org"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><h1>hello</h1><div th:text="${msg}"></div></body></html>
package com.yrz.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class IndexController {    @RequestMapping("/test")    public String test(Model model){ model.addAttribute("msg","hello,springboot"); return "test";    }}

Spring Boot

pom.xml

<dependencies>    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId>    </dependency>    <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-java8time</artifactId>    </dependency>    <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId>    </dependency>    <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version>    </dependency>    <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version>    </dependency>    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope>    </dependency>    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope>    </dependency></dependencies>

application.yml

spring:  datasource:    username: root    password: 123456    url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8    driver-class-name: com.mysql.cj.jdbc.Driver  web:    resources:      static-locations: classpath:/templatesmybatis:  type-aliases-package: com.yrz.pojo  mapper-locations: classpath:mybatis/mapper/*.xml

pojo.User

package com.yrz.pojo;import lombok.*;@Data@NoArgsConstructor@AllArgsConstructorpublic class User {    private Long id;    private int age;    private String username;    private String password;    public Long getId() { return id;    }    public void setId(Long id) { this.id = id;    }    public String getUsername() { return username;    }    public void setUsername(String username) { this.username = username;    }    public int getAge() { return age;    }    public void setAge(int age) { this.age = age;    }    public String getPassword() { return password;    }    public void setPassword(String password) { this.password = password;    }}

pojo.Result

package com.yrz.pojo;public class Result<T> {    private String msg;    private boolean success;    private T detail;    public String getMsg() { return msg;    }    public void setMsg(String msg) { this.msg = msg;    }    public boolean isSuccess() { return success;    }    public void setSuccess(boolean success) { this.success = success;    }    public T getDetail() { return detail;    }    public void setDetail(T detail) { this.detail = detail;    }    @Override    public String toString() { return "Result{" +  "msg='" + msg + '\'' +  ", success=" + success +  ", detail=" + detail +  '}';    }}

mapper.UserMapper

package com.yrz.mapper;import com.yrz.pojo.User;import org.apache.ibatis.annotations.*;import org.springframework.stereotype.Repository;import java.util.List;@Mapper@Repositorypublic interface UserMapper {    @Select("select * from t_user")    List<User> findAll();    @Select(value = "select * from t_user where username=#{username}")    @Results({     @Result(property = "username",column = "username"),     @Result(property = "password",column = "password")    })    List<User> findByName(@Param("username") String username);    @Insert("insert into t_user (id,username,age,password) values (#{id},#{username},#{age},#{password})")    void addUser(User user);    @Update("update t_user set username=#{username},age=#{age} where id = #{id}")    void updateUser(User user);    @Delete("delete from t_user where id = #{id}")    void deleteUser(Long id);    @Insert("insert into t_user values(#{id},#{username},#{password})")    //加入该注解可以保存对象后,查看对象插入id    @Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")    void regist(User user);    @Select("select id from t_user where username=#{username} and password=#{password}")    Long login(User user);}

service.UserService

package com.yrz.service;import com.yrz.pojo.Result;import com.yrz.pojo.User;import java.util.List;public interface UserService {    boolean addUser(User user);    boolean updateUser(User user);    boolean deleteUser(Long id);    List<User> findUserByName(String username);    List<User> findAll();    Result regist(User user);    Result login(User user);}

service.UserServiceImpl

package com.yrz.service;import com.yrz.mapper.UserMapper;import com.yrz.pojo.Result;import com.yrz.pojo.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import java.util.List;@Service@Transactional(rollbackFor = RuntimeException.class)public class UserServiceImpl implements UserService {    @Autowired    private UserMapper userMapper;    @Override    public boolean addUser(User user) { boolean result = false; try {     userMapper.addUser(user);     result = true; } catch (Exception e) {     e.printStackTrace(); } return result;    }    @Override    public boolean updateUser(User user) { boolean result = false; try {     userMapper.updateUser(user);     result = true; } catch (Exception e) {     e.printStackTrace(); } return result;    }    @Override    public boolean deleteUser(Long id) { boolean result = false; try {     userMapper.deleteUser(id);     result = true; } catch (Exception e) {     e.printStackTrace(); } return result;    }    @Override    public List<User> findUserByName(String username) { return userMapper.findByName(username);    }    @Override    public List<User> findAll() { return userMapper.findAll();    }    //    注册    @Override    public Result regist(User user) { Result result = new Result(); result.setSuccess(false); result.setDetail(null); try {     List<User> byName = userMapper.findByName(user.getUsername());     if (byName != null) {  result.setMsg("此用户已存在");     } else {  userMapper.regist(user);  result.setMsg("注册成功");  result.setSuccess(true);  result.setDetail(user);     } } catch (Exception e) {     result.setMsg(e.getMessage());     e.printStackTrace(); } return result;    }    //    登录    @Override    public Result login(User user) { Result result = new Result(); result.setSuccess(false); result.setDetail(null); try {     Long userId= userMapper.login(user);     if(userId == null){  result.setMsg("用户名或密码错误");     }else{  result.setMsg("登录成功");  result.setSuccess(true);  user.setId(userId);  result.setDetail(user);     } } catch (Exception e) {     result.setMsg(e.getMessage());     e.printStackTrace(); } return result;    }}

controller.UserController

package com.yrz.controller;import com.yrz.pojo.Result;import com.yrz.pojo.User;import com.yrz.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.util.List;@RestControllerpublic class UserController {    @Autowired   private UserService userService;    @PostMapping("/regist")    public Result regist(User user){ return userService.regist(user);    }    @PostMapping("/login")    public Result login(User user){ return userService.login(user);    }    @GetMapping("/findall")   public List<User> findAll(){ return userService.findAll();   }   @PostMapping("/adduser")    public boolean addUser(@RequestBody User user){ return userService.addUser(user);    }    @PutMapping("/updateuser")    public boolean updateUser(User user){ return userService.updateUser(user);    }    @DeleteMapping("/deleteuser/{id}")    public boolean deleteUser(@PathVariable("id") Long id){ return userService.deleteUser(id);    }    @GetMapping("/findbyname/{username}")    public List<User> findByName(@PathVariable("username")String username){ return userService.findUserByName(username);    }}