微服务基础
微服务特点
微服务的优缺点
优点:
缺点:
Spring Cloud
使用 Spring Cloud开发课程查询功能
项目结构:
course-list中:
先导入相关的依赖及插件
<!--导入所需的依赖-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
<!--spring-boot项目必须要的一个插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
新建启动类CourseListApplication.java:
package com.luo.course;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 项目启动类
*/
@SpringBootApplication
public class CourseListApplication {
public static void main(String[] args) {
SpringApplication.run(CourseListApplication.class, args);
}
}
新建配置文件application.properties:
server.port=8071
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/course_practice?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
logging.pattern.console=%clr(%d{${LOG_DATEFORMAT_PATTERN:HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}
mybatis.configuration.map-underscore-to-camel-case=true
spring.application.name=course-list
随后书写控制类,实体类,Mapper接口,service接口以及service接口实现
CourseMapper.java
package com.luo.course.dao;
import com.luo.course.entity.Course;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 课程的Mapper类
*/
@Mapper
@Repository
public interface CourseMapper {
@Select("SELECT * FROM course WHERE valid=1")
List<Course> findValidCourses();
}
Course.java(实体类)
package com.luo.course.entity;
import java.io.Serializable;
/**
* Course实体类
*/
public class Course implements Serializable {
Integer id;
Integer sourseId;
String courseName;
Integer valid;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseN