【仿牛客社区项目】02.Spring入门

本文详细介绍了Spring全家桶中的IoC(控制反转)和依赖注入技术,通过实例展示了如何在测试类中使用配置类、创建Spring容器、创建Bean和管理Bean的过程,以及Spring容器的优势和依赖注入的简单使用,最后给出了项目中依赖注入的实际应用场景。

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


Java项目学习笔记,课程链接:
仿牛客项目

1.Spring全家桶

  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Cloud Data Flow

2.Spring Framework

  • Spring Core:IoC(面向对象)、AOP(面向切面)
    用来管理对象的两种思想

  • Spring Data Access:Transactions(管理事务)、Spring MyBatis(整合MyBatis)

  • Web Servlet:Spring MVC

  • Integration:Email、Scheduling、AMQP、Security

3.Spring IoC

  • Inversion of Control(IoC):控制反转,是一种面向对象编程的设计思想。

  • Dependency Injection:依赖注入,是IoC的实现方式。

  • IoC Container:IoC容器,是实现依赖注入的关键,本质上是一个工厂。

  • 代码讲解:

    ①public class CommunityApplication:

    配置类,由@SpringBootApplication注解标注的类就表示该类为配置文件。
    配置类CommunityApplication会扫描部分Bean,Bean需要满足以下条件才会被扫描:

     a.配置类所在的包(controller)以及其子包下面的部分Bean。
     b.Bean上必须有@Controller,@Service,@Repository,@Component这四个注解的任意一个。其中@Component是其他三个注解的父类。
    

    ②在test中演示IoC代码的运用

    a.如何使test中的类CommunityApplicationTests也使用正式运行代码中的配置类CommunityApplication?

    在CommunityApplicationTests前加上注解:

    @ContextConfiguration(classes = CommunityApplication.class)
    

    b.如何创建Spring容器?

    哪个类想得到Spring容器,就在他后面加上ApplicationContextAware接口,再实现一个方法setApplicationContext。
    例如想在CommunityApplicationTests中添加容器,加上:

    class CommunityApplicationTests implements ApplicationContextAware
    

    将光标移到ApplicationContextAware上,按快捷键Alt+Shift+Enter,选择Implememt method,applicationContext即为Spring容器。其中ApplicationContext是BeanFactory的子接口,用来定义容器

    @SpringBootTest
    @ContextConfiguration(classes = CommunityApplication.class)
    class CommunityApplicationTests implements ApplicationContextAware {
         
         
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
         
         
    
        }
    }
    

    c.如何创建Bean?

    在com.nowcoder.community下创建一个子包dao,在dao下定义一个接口AlphaDao,再在dao下定义一个类AlphaDaoHibernateImpl来实现接口中的方法,类AlphaDaoHibernateImpl定义的对象就是Bean对象。

    @Repository
    public class AlphaDaoHibernateImpl implements AlphaDao{
         
         
    
        @Override
        public String select() {
         
         
            return "Hibernate";
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值