Spring Boot란 무엇인가요?
Spring Boot는 Pivotal 팀에서 제공하는 새로운 프레임워크로, 새로운 Spring 애플리케이션의 초기 구성 및 개발 프로세스를 단순화하도록 설계되었습니다. 프레임워크는 구성에 대한 임시 접근 방식을 사용하므로 개발자가 상용구 구성을 정의할 필요가 없습니다. 내 말을 이해하자면, 스프링 부트는 실제로 새로운 프레임워크가 아닙니다. Maven이 모든 jar 패키지를 통합하고 스프링 부트가 모든 프레임워크를 통합하는 것처럼 기본적으로 많은 프레임워크의 사용을 구성합니다. 적절한. ).
스프링부트를 사용하면 어떤 장점이 있나요?
사실 간단하고 빠르고 편리해요! 스프링 웹 프로젝트를 빌드해야 한다면 어떻게 해야 할까요?
1) web.xml 구성, spring 및 spring mvc 로드
2) 데이터베이스 연결 구성, spring 트랜잭션 구성
3) 로드 구성 파일 읽기 구성, Notes 활성화
4) 구성 로그 파일
...
구성이 완료된 후 Tomcat 디버깅 배포
...
이제는 매우 인기 있는 마이크로서비스입니다. 내 프로젝트가 단지 이메일만 보내면 되고, 내 프로젝트가 포인트를 생성해야 한다면 이 모든 작업을 다시 수행해야 합니다.
하지만 어떻게 될까요? 나는 스프링 부트를 사용합니까?
몇 가지 구성만 하면 쉽고 빠르게 웹 프로젝트를 설정하거나 마이크로서비스를 구축할 수 있습니다!
빠른 시작
말이 너무 많아서 손이 간지러워요 당장 도전해보세요!
maven 프로젝트 빌드
1. http://start.spring.io/
를 방문합니다. 2. 빌드 도구 Maven Project, Spring Boot 버전 1.3.6 및 일부 기본 프로젝트 정보를 선택하고 "정식 버전으로 전환하세요." 아래 그림과 같이 Java 버전 1.7을 선택합니다.
3. 프로젝트 압축 패키지를 다운로드하려면
4. 압축 해제 후, Import -> 기존 Maven 프로젝트 -> 압축 해제된 폴더 선택 -> Finsh, OK 완료! 소개
위 그림과 같이 Spring Boot의 기본 구조는 3개의 파일로 구성됩니다.l src/main/java 프로그램 개발 및 메인 프로그램 항목
l src/main/resources 구성 파일
l src/test/java 테스트 프로그램
또한 spingboot에서 권장하는 디렉터리 결과
루트 패키지 구조: com.example.myproject
1. Application.java는 주로 일부 프레임워크 구성을 수행하는 데 사용되는 다음 디렉터리에 배치하는 것이 좋습니다. 2. 도메인 디렉토리는 주로 엔터티 및 데이터 액세스 계층(Repository)에 사용됩니다com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- controller | +- CustomerController.java |
3. 서비스 계층은 주로 비즈니스 코드를 담당합니다
4. 페이지 접근 제어를 위해
기본 구성을 사용하면 많은 구성을 저장할 수 있으며, 물론 자신의 선호도에 따라 변경할 수도 있습니다.
마지막으로 애플리케이션을 시작합니다. main 메소드를 실행하고 이제 Java 프로젝트가 빌드되었습니다!
웹 모듈 소개
1. pom.xml에 웹을 지원하는 모듈을 추가합니다.
기본 모듈이 두 개 있습니다. pom.xml 파일 모듈: spring-boot-starter: 자동 구성 지원, 로깅 및 YAML을 포함한 핵심 모듈<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
spring-boot-starter-test: JUnit을 포함한 테스트 모듈; , Hamcrest, Mockito .
2. 컨트롤러 콘텐츠 쓰기
@RestController는 컨트롤러의 모든 메소드가 json 형식으로 출력되며 jackjson을 작성할 필요가 없음을 의미합니다. 구성!@RestController public class HelloWorldController { @RequestMapping("/hello") public String index() { return "Hello World"; } }
3. 메인 프로그램을 시작하고 브라우저를 열고 http://localhost:8080/hello를 방문하면 매우 간단합니다.
단위 테스트 방법
打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果。
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = MockServletContext.class) @WebAppConfiguration public class HelloWorldControlerTests { private MockMvc mvc; @Before public void setUp() throws Exception { mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); } @Test public void getHello() throws Exception { mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn(); } }
开发环境的调试
热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:
该模块在完整的打包环境下运行的时候会被禁用。如果你使用java -jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境”。
总结
使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。