0 부터 springboot+springcloud+my batis 로 컬 프로젝트 의 전 과정(도해)을 구축 합 니 다.

0 부터 springboot+springcloud+my batis 로 컬 프로젝트 의 demo 를 만 드 는 과정 을 기록 합 니 다.순수 코드 화이트 하나,부족 하거나 잘못된 점 이 있 으 면 많은 친구 들 이 지적 하 는 것 을 환영 합 니 다!
개발 환경 준비:
IDE:IntelliJ Idea 2019.3
데이터베이스:mysql 8.0.2.2
SpringBoot 버 전:2.2.0.RELEASE
SpringCloud 버 전:Hoxton.RELEASE
1.새로운 Idea 프로젝트 만 들 기
Idea 를 열 고 New->File->Project 를 누 르 고 Maven 을 선택 하면 바로 다음 단계 입 니 다.
在这里插入图片描述
프로젝트 이름 을 입력 하 십시오.pam 라 고 이름 을 지 었 습 니 다.Finish 를 누 르 면 생 성 이 완 료 됩 니 다.
在这里插入图片描述
2.procject 의 부모 노드 를 오른쪽 클릭 합 니 다.
->New->Module,등록 센터 서버 의 Module 을 만 들 고 이름 을 입력 하 십시오.pam-server 를 예 로 들 어 finish 를 직접 선택 하 겠 습 니 다.
마찬가지 로 클 라 이언 트 의 Module 을 다시 만 들 고 이름 을 입력 하 십시오.저 는 pam-service 를 예 로 들 어 finish 를 직접 선택 합 니 다.구 조 는 그림 과 같 습 니 다.
在这里插入图片描述
3.File 클릭
->Settings->Maven,로 컬 maven 을 설정 하고 OK 를 누 르 십시오.
在这里插入图片描述
4.가장 바깥쪽 pom 파일
springboot,springcloud 및 my batis 의 의존 도 를 도입 합 니 다.여기에 도 입 된 spring boot 버 전 은 2.2.0-RelEASE 이 며 이에 대응 하 는 springcloud 버 전 은 Hoxton.RELEASE 입 니 다.두 버 전 은 서로 어 울 려 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.여기에 몇 개의 상용 의존 도 를 추가 로 도입 하여 마 븐 에서 리 셋 을 누 르 면 창 고 는 온라인 으로 필요 한 의존 도 를 다운로드 할 수 있 습 니 다.

<dependencyManagement>
  <dependencies>
   <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.2.0.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
   <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Hoxton.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
  </dependencies>
 </dependencyManagement>
 <dependencies>
  <!--        -->
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-test</artifactId>
   <version>5.0.4.RELEASE</version>
  </dependency>
  <dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-api</artifactId>
   <version>2.10.0</version>
  </dependency>
  <!--mysql-->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.16</version>
  </dependency>
  <!--mybatis-->
  <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>2.0.0</version>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>
  </dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-freemarker</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-cache</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-logging</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka-server</artifactId>
   <version>1.3.1.RELEASE</version>
  </dependency>
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-contract-verifier</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-stream-test-support</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.5</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <version>3.0.1</version>
  </dependency>
  <dependency>
   <groupId>commons-lang</groupId>
   <artifactId>commons-lang</artifactId>
   <version>2.6</version>
  </dependency>
 </dependencies>
5.그림 과 같은 디 렉 터 리 구 조 를 만 듭 니 다.
① 등록 센터 작성,등록 센터 디 렉 터 리 구조:
在这里插入图片描述
웹 애플 리 케 이 션 시작 클래스 를 작성 하고 주 해 를 추가 합 니 다.@EnableEureka Server 와@SpringBootApplication 을 추가 합 니 다.데이터베이스 와 연결 되 지 않 고 순수 등록 센터 를 만 들 고 싶 어서 exclude=DataSourceAutoConfiguration.class 를 추 가 했 습 니 다.프로젝트 를 시작 할 때 데이터 라 이브 러 리 와 자동 으로 연결 되 지 않 습 니 다.등록 센터 에 도 데이터 베 이 스 를 연결 하려 면 이 exclude 를 사용 하지 않 아 도 됩 니 다.그림 에서 보 듯 이:
在这里插入图片描述
application.yml 작성

server:
 port: 8081
eureka:
 instance:
 hostname: 127.0.0.1
 server:
 enable-self-preservation: false  #         (     )
 eviction-interval-timer-in-ms: 600000 #     ,                ,          ,  1  
 client:
 register-with-eureka: false #        ,      
 fetch-registry: false #                
 serviceUrl:
  defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
spring:
 application:
 name: xinrong
 freemarker:
 prefer-file-system-access: false
bootstrap.yml 작성:

spring:
 cloud:
 config:
  enabled: false
log4j.properties 작성:

log4j.rootLogger=info, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
② 소비자 pam-service,소비자 목록 구 조 를 작성 합 니 다.
在这里插入图片描述
소비자 시작 클래스 PamApplication.java 를 작성 하고 주 해 를 추가 합 니 다@MapperScan(basePackages={"com.xinrong.pam.*.mapper"})
의미:my batis 에서 Mapper 파일 에 대응 하 는 가방 은 프로젝트 를 시작 할 때 자동 으로 검색 합 니 다.
在这里插入图片描述
소비자 application.yml 작성:

server:
 port: 8088 #   8088
eureka:
 instance:
 hostname: 127.0.0.1
 server:
 enable-self-preservation: false  #         (     )
 eviction-interval-timer-in-ms: 600000 #     ,                
 client:
 register-with-eureka: true #       
 fetch-registry: true #                : 
 serviceUrl:
  defaultZone: http://127.0.0.1:8081/eureka/ #      
mybatis:
 mapper-locations: mapper/* #mybatis      
 config-location: classpath:/mybatis/mybatis-config.xml #mybatis      
spring:
 application:
 name: pam #   
 datasource:
 url: jdbc:mysql://127.0.0.1:3306/pam?characterEncoding=utf-8&serverTimezone=Asia/Shanghai
 username: root
 password: root
 driver-class-name: com.mysql.cj.jdbc.Driver
 freemarker:
 prefer-file-system-access: false
jdbc:
 driverClass: com.mysql.jdbc.Driver
 url: jdbc:mysql://localhost:3306/pam
 username: root
 password: root
데이터베이스 에 pam 만 들 기user 표:

create table pam_user(
	objectId varchar(50) not null primary key ,
	userName varchar(50),
	password varchar(255),
	phoneNo varchar(20),
	sex varchar(5),
	birthDay date,
	Email varchar(50)
);
테스트 데이터 삽입:
在这里插入图片描述
user 폴 더 를 작성 하고 5 층 구 조 를 만 듭 니 다.domain 에서 실체 클래스 User 를 만 듭 니 다.
在这里插入图片描述
controller 클래스 인터페이스 및 구현 클래스 를 만 들 고@RestController 주 해 를 추가 하 며 인터페이스 에@RequestMapping 주 해 를 추가 합 니 다.
인터페이스:
在这里插入图片描述
구현 클래스:
在这里插入图片描述
같은 이치 로 service 인터페이스 와 실현 류 를 추가 하고 실현 류 에@Service 주 해 를 추가 하 는 것 을 주의 하 십시오.
在这里插入图片描述
在这里插入图片描述
mapper 파일 을 만 들 고 Mapper 인 터 페 이 스 를 작성 하 며@Repository 주 해 를 추가 합 니 다.
在这里插入图片描述
resources 에 my batis 폴 더 를 만 들 고 my batis-config.xml 설정 파일 을 작성 합 니 다:
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
 <settings>
  <!--        -->
  <setting name="mapUnderscoreToCamelCase" value="true"/>
  <!--      -->
  <setting name="logImpl" value="STDOUT_LOGGING" />
 </settings>
</configuration>
mapper 파일 을 작성 하여 User 클래스 의 my batis 맵 파일 을 만 듭 니 다:
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.xinrong.pam.user.mapper.UserMapper">
 <select id="getAll" resultType="com.xinrong.pam.user.domain.User">
  select * from pam_user
 </select>
</mapper>
이로써 데모 코드 작성 완료,우선 등록 센터 pam 시작server,시작 성공,주소http://127.0.0.1:8081/를 통 해 등록 센터 관리 인터페이스 를 성공 적 으로 보 았 습 니 다:
在这里插入图片描述
서비스 시작 pamservice:
在这里插入图片描述
시작 에 성공 하여 등록 센터 관리 인터페이스 를 다시 보면 pam 서비스 가 등록 센터 에 성공 적 으로 등록 되 었 음 을 볼 수 있 습 니 다.
在这里插入图片描述
브 라 우 저 주소 표시 줄 을 통 해 입력"http://127.0.0.1:8088/controller/pam/user/getAll라 이브 러 리 에 입력 한 테스트 데 이 터 를 성공 적 으로 조회 했다.이로써 springBoot 의 프로젝트 기본 구조 구축 에 성공 하 였 습 니 다!
在这里插入图片描述
이 글 은 0 부터 spring boot+springcloud+my batis 로 컬 프로젝트 를 구축 하 는 전 과정(도해)에 관 한 글 을 소개 합 니 다.spring boot+springcloud+my batis 로 컬 프로젝트 내용 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기