当前位置: 首页> 房产> 家装 > dw个人网页制作模板源代码_小程序是什么东西_常用seo站长工具_推广软文范例大全500

dw个人网页制作模板源代码_小程序是什么东西_常用seo站长工具_推广软文范例大全500

时间:2025/7/11 1:20:16来源:https://blog.csdn.net/weixin_42844704/article/details/145980539 浏览次数:0次
dw个人网页制作模板源代码_小程序是什么东西_常用seo站长工具_推广软文范例大全500

Spring boot常见的文件结构:

src/
├── main/
│   ├── java/
│   │   └── com.example.demo/
│   │       ├── DemoApplication.java    # 主入口
│   │       ├── config/                 # 配置类
│   │       ├── controller/             # 控制器
│   │       ├── service/                # 业务逻辑
│   │       ├── mapper/                 # 数据库操作接口
│   │       ├── entity/                 # 数据库实体类
│   │       ├── dto/                    # 数据传输对象
│   │       ├── listener/               # 监听器
│   │       └── interceptor/            # 拦截器
│   └── resources/
│       ├── application.yml             # 全局配置
│       └── mapper/                     # MyBatis 的 XML 文件
└── test/                               # 测试代码

1. config(配置文件夹)

  • 作用:像「工具箱的说明书」,存放各种配置类。
  • 常见内容
    • 数据库连接配置
    • 第三方工具(如Redis、Swagger)的配置
    • 自定义规则(比如日期格式、安全规则)
  • 示例
    @Configuration
    public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate() {// 配置 Redis 连接return new RedisTemplate<>();}
    }
    

2. mapper(数据映射文件夹)

  • 作用:像「翻译官」,负责将 Java 对象和数据库表互相转换。
  • 常见技术:MyBatis 或 JPA 的数据库操作接口。
  • 示例
    @Mapper // 告诉 MyBatis:这是操作数据库的接口
    public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User findById(int id);
    }
    

3. listener(监听器文件夹)

  • 作用:像「耳朵」,监听应用中的事件(比如应用启动、关闭)。
  • 常见用途
    • 应用启动时初始化数据
    • 统计在线人数
  • 示例
    @Component
    public class MyListener implements ApplicationListener<ContextRefreshedEvent> {@Overridepublic void onApplicationEvent(ContextRefreshedEvent event) {System.out.println("应用启动了!");}
    }
    

4. entity(实体文件夹)

  • 作用:像「数据库的镜子」,直接对应数据库表的字段。
  • 特点:纯数据类,通常和数据库表一一对应。
  • 示例
    @Data // Lombok 自动生成 getter/setter
    public class User {private Long id;private String name;private Integer age;
    }
    

5. dto(数据传输对象文件夹)

  • 作用:像「快递盒」,专门用于在不同层之间传递数据。
  • 场景:比如前端需要的字段和数据库实体不同,可以用 DTO 转换。
  • 示例
    @Data
    public class UserDTO {private String username;private String email; // 数据库实体没有 email 字段,但前端需要
    }
    

6. interceptor(拦截器文件夹)

  • 作用:像「安检员」,在请求到达 Controller 前/后做检查或处理。
  • 常见用途
    • 登录验证(检查是否有 Token)
    • 记录请求日志
  • 示例
    public class AuthInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {// 检查用户是否登录return true; // 放行请求}
    }
    

7.bean 文件夹(或包)

作用:像「零件仓库」,存放被 Spring 管理的对象(Bean)的定义,尤其是那些不属于传统分层(如 Controller/Service)的组件。

常见内容:

自定义配置类(比如第三方工具需要的 Bean)

工具类 Bean(比如日期转换器、加密工具)

全局共享的组件(比如自定义异常处理器)

示例:

// 假设在 bean 包下定义一个加密工具 Bean
@Component // 标记为 Bean
public class EncryptUtils {public String encrypt(String data) {// 实现加密逻辑return "加密后的数据";}
}

8.common 文件夹(或包)

作用:像「公共工具箱」,存放全项目通用的代码,不依赖具体业务逻辑。

常见内容:

工具类(如日期处理、字符串处理)

常量类(如错误码、固定配置)

自定义异常类(如 BusinessException)

通用返回对象(如统一格式的 API 响应类)

公共配置(如全局异常处理器)

示例:

// 在 common 包下定义一个统一响应格式
@Data
public class ApiResponse<T> {private int code;private String message;private T data;public static <T> ApiResponse<T> success(T data) {ApiResponse<T> response = new ApiResponse<>();response.setCode(200);response.setMessage("成功");response.setData(data);return response;}
}

对比其他文件夹
文件夹 类比 核心区别
bean 特殊零件库 存放非分层专用的 Spring Bean
common 共享工具箱 存放与业务无关的通用代码
config 说明书 专门配置 Bean 和第三方工具

其他核心文件夹回顾

文件夹作用比喻示例内容
controller服务员(处理 HTTP 请求)UserController
service厨师(处理业务逻辑)UserService
repository仓库管理员(操作数据库)UserRepository
主入口(Main)大门(启动程序)SpringApplication.run()

为什么需要这么多文件夹?

  1. 职责分离:就像餐厅分工(厨师、服务员、采购员),不同代码做不同事。
  2. 易于维护:修改数据库操作不用动业务逻辑代码。
  3. 团队协作:后端开发可以专注 service,前端联调看 dto

总结一句话

  • entity:直接对应数据库表
  • dto:给前端看的“包装版”数据
  • mapper:操作数据库的接口
  • config:配置第三方工具
  • interceptor:拦截请求做检查
  • listener:监听应用生命周期事件
关键字:dw个人网页制作模板源代码_小程序是什么东西_常用seo站长工具_推广软文范例大全500

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: