
Spring
介绍Spring基础知识
半夏_2021
系统恒久远,代码永流传!
展开
-
谈谈Spring Bean的生命周期和作用域?
谈谈Spring Bean的生命周期和作用域?原创 2022-07-12 08:03:45 · 810 阅读 · 0 评论 -
什么是IOC/DI?
IOC (Inversion of Control ) 控制反转,就是把原先我们 代码里需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然我们需要创建一个容器,同时需要一种描述让容器知道需要创建的对象与对象的关系。这种描述的具体表现就是我们的可配置文件。 DI (Dependency Injection ) : 就是指对象被动接受依赖而不是主动查找,换句话说,就是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖类注入给它。 ...原创 2021-09-02 10:26:26 · 197 阅读 · 0 评论 -
BeanFactory 和 ApplicationContext 有什么区别?
BeanFactory BeanFactory 可以理解为含有bean集合的工厂类。BeanFactory包含了多种Bean的定义,以便在收到客户端请求时,将对应的bean实例化。 BeanFactory还能在实例化对象时生成协作类之间的关系。BeanFactory 还包含了bean生命周期的控制,调用客户端的初始化方法(initialization Methods) 和 销毁方法(destruction Methods) ApplicationContext:在BeanFactory的基础上提供了原创 2021-09-01 16:53:21 · 314 阅读 · 0 评论 -
spring自动装配详解
@AutoWired的使用 @AutoWired的使用 //一个Dao @Repository public class UserDao { } @Service public class UserService { @Autowired private UserDao userDao; } 结论: a:自动装配首先时按照类型进行装配,若在IOC容器中发现了多个相同类型的组件,那么就按照 属性名称来进行装配 @Autowired private UserDao userDao; 比如,原创 2021-09-01 16:52:25 · 318 阅读 · 0 评论 -
spring 通过@Value + @PropertySource来给组件赋值
public class Person { //通过普通的方式 @Value("xxx") private String firstName; //spel方式来赋值 @Value("#{28-8}") private Integer age; 通过读取外部配置文件的值 @Value("${person.lastName}") private String lastName; } @Configuration @Propert原创 2021-09-01 16:40:44 · 147 阅读 · 0 评论 -
Spring Bean的初始化方法 和销毁方法
① bean的创建-> 初始化-> 销毁方法 由容器管理Bean的生命周期,我们可以通过自己指定bean的初始化方法和bean的销毁方法。 public class Car { public Car() { System.out.println("Car的构造方法.........."); } public void init() { System.out.println("Car原创 2021-09-01 16:38:54 · 326 阅读 · 0 评论 -
Spring 往IOC 容器中添加组件的方式
通过@ComponentScan @Controller @Service @Respository @Component使用场景: 针对我们自己写的组件可以通过该方式来进行加载到容器中。 通过@Bean的方式来导入组件(实用于导入第三方组件的类),用于导入第三方组件 通过@Import来导入 组件(导入组件的id为全类名路径),用于导入第三方组件 @Configuration //@Import(value = {Person.class, Car.class}) //@Import..原创 2021-09-01 16:27:09 · 183 阅读 · 0 评论 -
@Condition进行条件判断
自己创建一个TestCondition的类 实现Condition接口 public class YjCondition implements Condition { /** * * @param context * @param metadata * @return */ @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata原创 2021-09-01 16:21:42 · 287 阅读 · 0 评论 -
Spring 底层注解 - @CompentScan
在配置类上写@CompentScan注解来进行包扫描. @Configuration @ComponentScan(basePackages = {"com.test.testcompentscan"}) public class MainConfig { } ①: 排除用法 excludeFilters(排除@Controller注解的,和XxService的) @Configuration @ComponentScan(basePackages = {"com.test.testcompentsca原创 2021-09-01 14:51:00 · 289 阅读 · 0 评论