基于 Spring Boot 来开发 Spring 项目
上一节已经构建一个Spring Boot基本应用,其实就是引入了依赖包,创建了一个启动类。 下面运用 Spring 的分层逻辑来开发一个简单的Spring项目。
项目结构:
User 实体类:
/**
* 实体类
*/
public class User {
private Integer id;
private String name;
private Integer age;
private String city;
//省略getter、setter和构造方法
业务层接口 UserService:
import com.example.demo.domain.User;
/**
* 业务层接口
*/
public interface UserService {
public User findUserById(Integer id);
}
业务层接口实现类:
@Service //Spring注解,用于注册业务层
public class UserServiceImpl implements UserService {
private static final Map<Integer, User> MAP = new HashMap<Integer, User>();
//准备一些静态数据
static {
MAP.put(1, new User(1, "张三", 26, "上海"));
MAP.put(2, new User(2, "李四", 23, "北京"));
MAP.put(3, new User(3, "王五", 25, "深圳"));
}
@Override
public User findUserById(Integer id) {
return MAP.get(id);
}
}
Controller 层:
这里用到了 Spring web注解,需要先引入包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
/**
* 控制层调用业务层
*/
@RestController //Spring MVC注解,返回json数据
public class UserController {
//注入业务层
@Autowired
private UserService userService;
// @RequestMapping(value = "user/{id}", method = RequestMethod.GET)
@GetMapping("user/{id}") // 如果是get方法,可直接使用@GetMapping注解
public User findUserById(@PathVariable("id") Integer id) {
//@PathVariable(“id”)表示把url中数据传入方法参数中
return userService.findUserById(id);
}
}
配置文件有两种形式,默认是 application.properties,也可以用 application.yml:
到这里,一个基本的 Spring 应用就构建完了。
启动DemoApplication.java,用浏览器测试:
这里 json 的数据格式化推荐一个 Chrome 插件:极简 json 。非常好用!
小结:
可以看到,用 Spring Boot 来开发 Spring 项目变得很方便,不需要各种复杂的 xml 文件,只需要很少的配置,就可以快速构建一个完整的项目。
推荐阅读:
关注微信公众账号「曹当家的」,订阅最新文章推送