目录
一,spring注解
spring注解的key 也就是id首字母小写
二,利用工厂模式创建对象
(一),业务说明
(二),创建工厂模式
一,spring注解
spring注解的key 也就是id首字母小写
- @Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
- @Component 将当前的类交给spring容器管理 对象的创建是由spring通过反射机制自动创建对象
- @ComponentScan:扫描指定路径下的注解 当spring容器启动时 根据指定包路径扫描其子孙包 如果不扫描 即使有上面的@Component注解 你扫描不到依旧会报错
- @Bean 将自己方法的返回值交给Spring容器管理
二,利用工厂模式创建对象
(一),业务说明
- spring中管理的对象大部分可以通过new或者反射进行创建对象,有些对象处于特殊原因不能直接实例化 就需要考虑是否通过工厂模块实现
(二),创建工厂模式
-
package com.jt.factory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;
import java.util.Calendar;
@Component("calendar")
public class CalenderFactory implements FactoryBean {
@Override
public Calendar getObject() throws Exception {
return Calendar.getInstance();
}
@Override
public Class> getObjectType() {
return Calendar.class;
}
}
- @Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
- @Component 将当前的类交给spring容器管理 对象的创建是由spring通过反射机制自动创建对象
- @ComponentScan:扫描指定路径下的注解 当spring容器启动时 根据指定包路径扫描其子孙包 如果不扫描 即使有上面的@Component注解 你扫描不到依旧会报错
- @Bean 将自己方法的返回值交给Spring容器管理
二,利用工厂模式创建对象
(一),业务说明
- spring中管理的对象大部分可以通过new或者反射进行创建对象,有些对象处于特殊原因不能直接实例化 就需要考虑是否通过工厂模块实现
(二),创建工厂模式
-
package com.jt.factory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;
import java.util.Calendar;
@Component("calendar")
public class CalenderFactory implements FactoryBean {
@Override
public Calendar getObject() throws Exception {
return Calendar.getInstance();
}
@Override
public Class> getObjectType() {
return Calendar.class;
}
}
- spring中管理的对象大部分可以通过new或者反射进行创建对象,有些对象处于特殊原因不能直接实例化 就需要考虑是否通过工厂模块实现
(二),创建工厂模式
-
package com.jt.factory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;
import java.util.Calendar;
@Component("calendar")
public class CalenderFactory implements FactoryBean {
@Override
public Calendar getObject() throws Exception {
return Calendar.getInstance();
}
@Override
public Class> getObjectType() {
return Calendar.class;
}
}
package com.jt.factory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;
import java.util.Calendar;
@Component("calendar")
public class CalenderFactory implements FactoryBean {
@Override
public Calendar getObject() throws Exception {
return Calendar.getInstance();
}
@Override
public Class> getObjectType() {
return Calendar.class;
}
}



