爬山的蜗牛旅程:springboot学习前的标签认识

本文详细解析了Spring框架中Controller、Service、Entity、DAO等各层的常用标签,包括@Controller、@Service、@Entity、@Repository等,以及功能性标签如@Transactional、@Autowired、@Bean的使用方法和场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Controller层常用标签

@Controller

  • springmvc 控制层 ,可用于视图跳转

@RestController

  • springmvc 控制层 ,使用rest风格编码,用于json格式数据请

@RequestMapping

  • 作用Controller类和方法,用于映射,或指定请求类型的
  • 例如:@RequestMapping(value = “/alluser” , method = RequestMethod.GET)

service业务层常用标签

@Service(“userService”)

  • 用来标识service

@Transactional

  • 用于开启事务

entity

@Entity 用例标识实体
@Table(name = “aaaa”) 映射实体和表名

  • 以下三个是用来标识主键的,基于Hibernate主键策略生成
    @Id
    @GeneratedValue(generator = “faceset_generator”)
    @GenericGenerator(name = “faceset_generator”, strategy = “uuid”)

@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)

  • 用于指定时间日期格式的解析格式

@JsonFormat(timezone = “GMT+8”,pattern = “yyyy-MM-dd HH:mm:ss”)

  • 用于指定json解析时间日期格式

@Column(name=“xxx”)

  • 用来映射实体字段和表字段

dao

@Repository

  • 标识持久层

功能性标签

@Autowired

  • 用来注入的bean(spring的依赖注入(di))

@Bean

  • 用于实体或者方法返回的实体被spring容器加载管理
	@Bean
    public TextUtil initTextUtil() {
        return new TextUtil();
    }`

@Component(“xxxx”)

  • 用于自定义组件被spring容器加载管理
  • 把共性业务封装成组件,好处一堆,自行理解
/**
* 自定义组件接口
**/	
public interface CreateCodeInterface {
    public StringBuffer CreateCode(String tablename, String classname)  throws Exception ;
}
/**
* 自定义组件实现类
**/
@Component("createSearch")
public class CreateSearch implements CreateCodeInterface {

    @Autowired
    private CoreService coreService;

    @Override
    public StringBuffer CreateCode(String tablename, String classname)  throws Exception {
        //...自定义的组件功能
    }
}

@Slf4j

  • 如果不想每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class);
    可以用注解@Slf4j;
  • 前提是集成并开启Slf4j日志管理

@Configuration

  • 用于定义配置类,可替换xml配置文件,
    被注解的类内部包含有一个或多个被@Bean注解的方法,
    这些方法将会被AnnotationConfigApplicationContext
    或AnnotationConfigWebApplicationContext类进行扫描,
    并用于构建bean定义,初始化Spring容器
  • 总结一句话:被上述Configuration标签修饰的类,就是一个xml文件
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
/**
 * 此类可看成WebSocket xml
 */
@Configuration
public class WebSocketConfig {
    /**
     * websocket的核心对象
     * @return
     */
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}

@EnableAutoConfiguration

  • 就是去classpath中搜索所有META-INF/spring.factories配置文件,并加载配置项到spring容器
  • 实现过程原理(抄袭某个大神博客的原话)–站在大神的肩膀上看世界
    • 从classpath中搜索所有META-INF/spring.factories配置文件然后,将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration的key对应的配置项加载到spring容器
    • 只有spring.boot.enableautoconfiguration为true(默认为true)的时候,才启用自动配置
    • @EnableAutoConfiguration还可以进行排除,排除方式有2中,一是根据class来排除(exclude),二是根据class name(excludeName)来排除

@ComponentScan

  • 用于扫描指定包下的所有组件
基于开源大模型的教学实训智能体软件,帮助教师生成课备课设计、课后检测问答,提升效率与效果,提供学生全时在线练习与指导,实现教学相长。 智能教学辅助系统 这是一个智能教学辅助系统的端项目,基于 Vue3+TypeScript 开发,使用 Ant Design Vue 作为 UI 组件库。 功能模块 用户模块 登录/注册功能,支持学生和教师角色 毛玻璃效果的登录界面 教师模块 备课与设计:根据课程大纲自动设计教学内容 考核内容生成:自动生成多样化考核题目及参考答案 学情数据分析:自动化检测学生答案,提供数据分析 学生模块 在线学习助手:结合教学内容解答问题 实时练习评测助手:生成随练题目并纠错 管理模块 用户管理:管理员/教师/学生等用户基本管理 课件资源管理:按学科列表管理教师备课资源 大屏概览:使用统计、效率指数、学习效果等 技术栈 Vue3 TypeScript Pinia 状态管理 Ant Design Vue 组件库 Axios 请求库 ByteMD 编辑器 ECharts 图表库 Monaco 编辑器 双主题支持(专业科技风/暗黑风) 开发指南 # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build 简介 本项目旨在开发一个基于开源大模型的教学实训智能体软件,帮助教师生成课备课设计、课后检测问答,提升效率与效果,提供学生全时在线练习与指导,实现教学相长。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值