Day03
Spring
Spring学习
- Spring 的IOC(控制反转):通过将对象的生命周期管理交给IOC管理,专注于业务开发。(正常需要自动new来创建对象,系统复杂起来不好管理,通过IOC管理对象,提高对象复用效率等。
- 早期Spring版本,通过XML写入要管理组件信息,来注册组件。
ApplicationContext applicationContext = new ClassPathXmlPathApplicationContext("xxx.xml");
User user = (User)applicationContext.getBean("user");
- Spring4之后推荐使用Java Config来注册组件管理。
# 依赖lombok插件#User类
@ToString
@AllArgsConstructor
@Data
public class User{private String name;private Integer age;
}#配置类,通过@Bean注解注册User类
@Configuration
public class WebConfig{@Bean()public User user(){return new User("mybrid", 18);}
}# 注册后,从IOC容器中获取组件
@SpringBootApplication
public class DemoApplication{public static void main(String[] args){StringApplication.run(DemoApplication.class, args);ApplicationContext context =new AnnotationConfigApplicationContext(WebConfig.class);User user = context.getBean(User.class);...}
}
通过注解注册组件,因此需要使用AnnotationConfigApplicationContext
获取对应IOC容器,参数为配置类。
通过传入配置类Class对象,通过反射机制,获取配置类对象中配置类内有对应注解@Bean的组件,进行管理等操作的实现。
Java
Class
Class理解
- 类的定义:将具有共同特性的对象集合抽象为一个类。简单说,每个学生都是一个对象,有各自的特点,但是作为学生,他们都有着相同的学生方面的属性,如姓名,学号,性别,或是是学习的任务(方法)。将这些共同点进行抽象统一定义成一个模板,就是类。通过类来复用这些共同点,实现每一个学生对象。
- Class:Class考虑就是这些抽象而成的类,这些各个抽象成的类是否也有一样的共同点?答案是有的。每个类,都有类的属性,方法,静态方法,修饰符或者是这个类中的注解的共同特性,将这些抽象成一个Class类,即这个类抽象的是所有class所具有的共同特性。
# 简单理解就是个名为Class的类。
class Class{...
}
如何获取一个Class对象
# 第一种
Class c1 = String.class
# 第二种
String s = "world";
Class c2 = s.getClass();
# 第三种,需要try catch捕获异常
Class c3 = Class.forName("com.test.Book");
SpringBoot参数获取
参数获取
阿里云OSS
阿里云OSS开通