Features

Registers CXF Servlet with a “/services/*” URL pattern for serving CXF JAX-RS endpoints.

Optionally auto-discovers JAX-RS root resources and providers and creates a JAX-RS endpoint.

Note the use of CXF JAX-RS Clients in SpringBoot Application is covered in this section.

Databases

1
2
sudo docker container start mysql-container-id
sudo docker exec -it mysql-container-name mysql -u root -p
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
mysql> create database demo;
mysql> USE demo;
mysql> SET FOREIGN_KEY_CHECKS=0;
mysql> DROP TABLE IF EXISTS `student`;
mysql> CREATE TABLE `student` (
    ->   `id` int(10) NOT NULL,
    ->   `name` varchar(100) DEFAULT NULL,
    ->   `sex` char(6) DEFAULT NULL,
    ->   `address` varchar(255) DEFAULT NULL,
    ->   `age` int(10) DEFAULT NULL,
    ->   PRIMARY KEY (`id`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> INSERT INTO `student` VALUES ('1', '', '', '', '22');

Creating a project

1
spring init -d=web,mybatis,mysql --build=maven mysite

dependency

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
            <version>${project.version}</version>
            <exclusions><!-- CXF uses java.util.logging by default -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>swagger-ui</artifactId>
            <version>${cxf.swagger.ui.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-features-metrics</artifactId>
            <version>${project.version}</version>
        </dependency>