文章内容速览
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";