코스 스프링 부트의 봄 시리즈 (mercyblitze) 1-7

https://segmentfault.com/n/1330000009887617 

역사와 기술 개발의 맥락

마이크로 서비스는 SOA의 작은 강도

 

 

 

 REST : JSON, XML, HTTP

 

 핫 스팟 : 핫 이슈에 대한로드 밸런싱 솔루션

구성 : 현지 할 수 있습니다 배포 할 수 있습니다, 키는 구성 파일의 내용을 변경 한 후 응답을 모니터하는 것입니다

보안 : 프런트 엔드 보안 XSS, 인증, 권한 부여, 싱글 사인온

 

봄 부트 내용

스프링 framwework 디자인 패턴

 gof23

 

수동 복구

 

 

소스 코드를 읽는 방법 : 

일반 인터페이스는 입구

인터페이스 행동의 View 구현

키 코드를 찾아 상호 세부 사항을 무시

 

아이디어 전체 텍스트 검색 :

CTRL + H

JSP로 자원로드 :

 

게임

 Serverlet 호출 체인

Q & A :

 

 

메모리 복구, 자바 GC의 수동 복구

중지

정적 및 동적 박리

 

请求
资源定位(URI)
请求协议(Protocol)
请求方法(Method)
请求参数(Parameter)
请求主体(Body)
请求头(Header)
Cookie
响应
响应头(Header)
响应主体(Body)

标准优化技术
资源变化
相应头:Last-Modified(初次访问没有缓存得到的响应数据)(第一次响应)服务器告诉浏览器资源最近的修改时间
请求头:If-Modified-Since(第二次请求带上,如果服务器返回304表示资源没有变化,浏览器就会使用本地缓存数据)


资源缓存
相应头:ETag(初次访问没有缓存得到的响应数据,用ETag标记)
请求头:If-None-Match(第二次请求带上该资源ETag标记,如果服务器返回304表示资源没有变化,浏览器就会使用本地缓存数据)

 

봄 解析 서블릿, JSP

 서류 :

 자바 클래스를 구성하여 해당 매개 변수를 찾을 수

구성 클래스 노트 :

주변의 봄

프로 시저를 호출합니다 :

request incoming -> 

javax.servlet.http.HttpServlet#service--> 

org.springframework.web.servlet.DispatcherServlet#doDispatch--> 

ik.starriver.log.controller.EventController#getPage

 

 

봄 휴식

Spring Boot REST
核心接口
定义相关
@Controller
@RestController
映射相关
@RequestMapping
@PathVariable
请求相关
@RequestParam
@RequestHeader
@CookieValue
RequestEntity
响应相关
@ResponseBody
ResponseEntity

 

이 소비 = MediaType.APPLICATION_XML_VALUE가 정확히 일치 // 수락 요청 헤더의 콘텐츠가
생성 = MediaType.APPLICATION_XML_VALUE) // 해당 타입의 각각의 데이터로 파싱

@RestController
public class XMLRestController {

    @GetMapping(path = "/xml/user",
            consumes = MediaType.APPLICATION_XML_VALUE, //精确匹配request header的Accept内容
            produces = MediaType.APPLICATION_XML_VALUE) //相应数据解析成相应类型
    public User user() {

        User user = new User();

        user.setName("XML");
        user.setAge(30);

        return user;
    }


}

나머지 문서 생성

 

HATEOAS

서비스 인터페이스 API를 정보의 모델을 제공 :

 

HttpServlet.service 다른 요구에 따른 처리 방법 :

봄 부팅에 서블릿

구성 요소 : 스캔 \ 등록 HttpServlet을

필터 : 스캔 \ 등록 필터

청취자 : 스캔 \ 등록 XXXXListener

 

(데이터 소스와 예를 들어) 빈 컨텍스트를 가져옵니다 :

@SpringBootApplication
@EnableTransactionManagement
@EnableAsync
@EnableJpaRepositories(basePackages = {"ik.starriver.msgcenter"})
//@MapperScan("ik.starriver.msgcenter.mappers")
//@ComponentScan(basePackages = {"ik.starriver.msgcenter"})
public class MsgCenterApplication {


    private static final Logger logger = LoggerFactory.getLogger(MsgCenterApplication.class);

    public static void main(String[] args) throws NamingException, SQLException {
        SpringApplication application = new SpringApplication();
        ConfigurableApplicationContext applicationContext = application.run(MsgCenterApplication.class, args);
        BasicDataSource dataSource  = (BasicDataSource) applicationContext.getBean("dataSource");
        Statement statement = dataSource.getConnection().createStatement();
        ResultSet resultSet = statement.executeQuery("SHOW DATABASES;");
        while(resultSet.next()){
            String result = resultSet.getString(1);
            logger.debug(result);

        }
        logger.debug("started");
}

 

봄 부팅 포함 된 Tomcat 웹 컨테이너

 

보기 포트는 프로세스를 소속 :

lsof를 -i : 8000

 

출처 :

ServletWebServerFactoryCustomizer.customize读取配置文件的Servlet、server、Tomcat相关属性设置,配置文件内容例如:
server:
  servlet:
    contextPath: /shen
  port: 9000

 

 

기본 int 형과 기본 값을 가지고, 객체에 null 값 유형 정수를 가지고

 

개발 기술

검색어 자동 속성

 

경로 1 개 찾기 창에서 열기 (Ctrl 키 + h를)

4

BodyMap

FailedBodyMap

우편 집배원:

통해 http : // localhost : 8080 / JDBC / 사용자 / 1 /

통해 http : // localhost : 8080 / JDBC / 사용자 /

통해 http : // localhost : 8080 / JDBC / 사용자 /

https://search.maven.org/classic/

카테고리별로 이름 검색 :

HTML

JSON

XML

 

 

HATEOAS 

 

위해 RESTClient

가져 오기 제대로 치즈 라이브러리 :

org.apache.commons.dbcp2.BasicDataSource

기준 영상 41분

application.properties에서 DBCP 관련 구성 항목을 추가하는 방법

기준 영상 43분

단일 연결

DBCP 방법

반환 된 객체 열을 알고, 분석 데이터 없음

 

MVC 문구 :

service\UserService.java:
domain\UserServiceImpl.java:
controller\JDBCController.java:

 

단어 방식 메모리 API를

 

추천 도서 :

봄 클라우드 서비스 전투 마이크로  자이 용인 차오  와

소스 코드를 공부하는 방법 (예를 들어 MyBatis로과를, API 인터페이스는 XML 구성 정보를 얻을 수 org.apache.ibatis.session.Configuration 방법을 분석하는) :

XML 설정

코드 읽기 구성 속성 및 설정 

 

당신은 설정의 세부 사항을 잊어 버린 경우, 당신은 비디오 및 해당 코스를 볼 수 있습니다.

 

 

JSON 유형 VARCHAR로 변환

 

서명의 여부 반사를 결정 invocation.proceed

 

MyBatis로 발전기

자원 주소 : HTTP : //www.mybatis.org/generator/index.html

 

MyBatis로-config.xml에

여러 가지 방법으로 XML 구성 파일의 MyBatis를 사용하여 :

한 손으로는 맵 파일을 생성 UserMapper2.xml

2 MBG는 맵 파일 UserCopy1Mapper.xml을 생성

3 주석

4 선발 방법 :

mybatis-spring-boot-starter ----> MybatisAutoConfiguration
/jdbc/mybatis/user/{id}/
/jdbc/mybatis/generator/user/{id}/
/jdbc/mybatis/annotation/mapper/user/{id}/

/jdbc/mybatis/starter/mapper/user/{id}/ 

 

달성 매퍼 :

XML : 일반적으로 사용되는, 자동으로 매핑 SQL MBG에 의한 결과 집합을 생성 할 수 있습니다

주석 : 수동 코딩, 그것은 단지 패키지를 클래스 패스합니다 정의되어 편리하게 조회

엔티티 도메인과의 차이 사이 :

도메인 풍부한 domian 두 종류의 상태와 작업 (예를 들어, 업데이트), 도메인 일반적으로 고갈 POJO, 자바 빈즈가 포함되어 있습니다

엔티티 ID = + 자바빈

더 많은 도메인 로직 설명에 대해 우려, 법인은 더 많은 관심을 지속

 

JPA 질문 :

스위치는, 보조 캐시를 조작 할 수 있습니다 작동 할 수 없습니다 캐시하지만

음의 잠금 : 잠금 데이터베이스

낙관적 잠금 : 버전을 추가

 

모든 콩 속성 구성 정보는 정보에 의해 구성 할 빈 클래스에서 찾을 수 있습니다보기

에 http : // localhost를 : 9000 / 액츄에이터 / configprops

게시 된 105 개 원래 기사 · 원 찬양 33 ·은 30000 +를 볼

추천

출처blog.csdn.net/github_38596081/article/details/104076374