parent
2e02c2acb5
commit
90dadf8279
|
@ -65,9 +65,14 @@
|
|||
- [Resource](spring-resources/spring-resource/README.md)
|
||||
- [ResourceLoader](spring-resources/spring-resource-resourceLoader/README.md)
|
||||
- [DocumentLoader](spring-resources/spring-resource-documentLoader/README.md)
|
||||
- 元数据
|
||||
- 元数据与过滤
|
||||
- [MetadataReader](spring-metadata/spring-metadata-metadataReader/README.md)
|
||||
- [AnnotationMetadata](spring-metadata/spring-metadata-annotationMetadata/README.md)
|
||||
- TypeFilter
|
||||
- 条件注册
|
||||
- Condition
|
||||
- ConditionContext
|
||||
- ConfigurationCondition
|
||||
- Bean定义与注册
|
||||
- [BeanDefinition](spring-beans/spring-bean-beanDefinition/README.md)
|
||||
- [BeanDefinitionHolder](spring-beans/spring-bean-beanDefinitionHolder/README.md)
|
||||
|
@ -82,12 +87,6 @@
|
|||
- ImportBeanDefinitionRegistrar
|
||||
- ImportSelector
|
||||
- DeferredImportSelector
|
||||
- Bean定义过滤
|
||||
- TypeFilter
|
||||
- ConditionEvaluator
|
||||
- Condition
|
||||
- ConditionContext
|
||||
- ConfigurationCondition
|
||||
- 属性编辑与类型转换
|
||||
- PropertyEditor
|
||||
- ConversionService
|
||||
|
@ -95,7 +94,7 @@
|
|||
- 表达式语言(SpEL)
|
||||
- Expression
|
||||
- ExpressionParser
|
||||
- EvaluationContext
|
||||
- EvaluationContext
|
||||
- PropertyAccessor
|
||||
- MethodResolver
|
||||
- TypeLocator
|
||||
|
|
1
pom.xml
1
pom.xml
|
@ -28,6 +28,7 @@
|
|||
<module>spring-resources</module>
|
||||
<module>spring-metadata</module>
|
||||
<module>spring-beans</module>
|
||||
<module>spring-condition</module>
|
||||
</modules>
|
||||
|
||||
<dependencies>
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
<module>spring-bean-groovyBeanDefinitionReader</module>
|
||||
<module>spring-bean-annotatedBeanDefinitionReader</module>
|
||||
<module>spring-bean-classPathBeanDefinitionScanner</module>
|
||||
<module>spring-bean-importBeanDefinitionRegistrar</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>spring-beans</artifactId>
|
||||
<groupId>com.xcs.spring</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>spring-bean-importBeanDefinitionRegistrar</artifactId>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,18 @@
|
|||
package com.xcs.spring;
|
||||
|
||||
import com.xcs.spring.bean.MyBean;
|
||||
import com.xcs.spring.config.MyConfiguration;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
|
||||
/**
|
||||
* @author xcs
|
||||
* @date 2023年11月17日 14时48分
|
||||
**/
|
||||
public class ImportBeanDefinitionRegistrarDemo {
|
||||
|
||||
public static void main(String[] args) {
|
||||
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfiguration.class);
|
||||
MyBean bean = context.getBean(MyBean.class);
|
||||
System.out.println("bean = " + bean);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.xcs.spring.bean;
|
||||
|
||||
/**
|
||||
* @author xcs
|
||||
* @date 2023年11月17日 14时53分
|
||||
**/
|
||||
public class MyBean {
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.xcs.spring.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
/**
|
||||
* @author xcs
|
||||
* @date 2023年11月17日 14时52分
|
||||
**/
|
||||
@Configuration
|
||||
@Import(MyImportBeanDefinitionRegistrar.class)
|
||||
public class MyConfiguration {
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.xcs.spring.config;
|
||||
|
||||
import com.xcs.spring.bean.MyBean;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
import org.springframework.beans.factory.support.GenericBeanDefinition;
|
||||
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
|
||||
import org.springframework.core.type.AnnotationMetadata;
|
||||
|
||||
/**
|
||||
* @author xcs
|
||||
* @date 2023年11月17日 14时52分
|
||||
**/
|
||||
public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {
|
||||
|
||||
@Override
|
||||
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
|
||||
// 注册一个名为 "myBean" 的简单Bean
|
||||
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(MyBean.class);
|
||||
GenericBeanDefinition definition = (GenericBeanDefinition) builder.getBeanDefinition();
|
||||
registry.registerBeanDefinition("myBean", definition);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>spring-reading</artifactId>
|
||||
<groupId>com.xcs.spring</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>spring-condition</artifactId>
|
||||
|
||||
</project>
|
|
@ -15,6 +15,7 @@
|
|||
<modules>
|
||||
<module>spring-metadata-metadataReader</module>
|
||||
<module>spring-metadata-annotationMetadata</module>
|
||||
<module>spring-metadata-typeFilter</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
|
@ -3,13 +3,13 @@
|
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>spring-resources</artifactId>
|
||||
<artifactId>spring-metadata</artifactId>
|
||||
<groupId>com.xcs.spring</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>spring-resource-propertiesPersister</artifactId>
|
||||
<artifactId>spring-metadata-typeFilter</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
|
@ -1,24 +0,0 @@
|
|||
package com.xcs.spring;
|
||||
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.support.ResourcePropertiesPersister;
|
||||
import org.springframework.util.PropertiesPersister;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* @author xcs
|
||||
* @date 2023年11月09日 15时38分
|
||||
**/
|
||||
public class PropertiesPersisterDemo {
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
Properties loadProperties = new Properties();
|
||||
|
||||
PropertiesPersister propertiesPersister = ResourcePropertiesPersister.INSTANCE;
|
||||
propertiesPersister.load(loadProperties, new ClassPathResource("bean-definitions.properties").getInputStream());
|
||||
|
||||
System.out.println("loadProperties = " + loadProperties);
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
myBean.(class)=com.xcs.spring.bean.MyBean
|
||||
myBean.message=hello world
|
||||
myBean.(lazy-init)=true
|
||||
myBean.(scope)=prototype
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE>
|
||||
<mapper namespace="com.ehome.academy.academy.service.persist.mapper.AgentVideoCategoryMapper">
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue