package com.example.springcorelearn;
import com.example.springcorelearn.aop.SpringLearnAop;
import com.example.springcorelearn.initilization.TeacherBuilder;
import com.example.springcorelearn.question.StudentHolder;
import com.example.springcorelearn.question.TeacherHolder;
import com.example.springcorelearn.question.entity.Person;
import com.example.springcorelearn.question.entity.School;
import com.example.springcorelearn.question.entity.Student;
import com.example.springcorelearn.question.entity.Teacher;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.annotation.*;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @author jiguansheng
* @date 2022/12/31
**/
@Slf4j
@ComponentScan({"com.example.springcorelearn.question","com.example.springcorelearn.aop"})
@Configuration
public class BeanDependencyDemo implements ApplicationRunner {
/**
* 依赖查找
* DependencyDescriptor
* 必须(required=true)
* 通过类型查找 School
* 字段名称 school
* 实时注入 非饥饿模式
*
*/
@Resource(name = "xiaowang")
private Student xiaowang;
@Autowired
@Qualifier("tengyichao")
private Student tengyichao;
@Autowired
private Map<String, Person> personMap;
public static void main(String[] args) {
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext((DefaultListableBeanFactory) classPathXmlApplicationContext.getBeanFactory());
applicationContext.register(BeanDependencyDemo.class, SpringLearnAop.class);
applicationContext.refresh();
//log.info("xiaowang:"+applicationContext.getBean("xiaowang",Student.class));
//log.info("tengyichao:"+applicationContext.getBean("tengyichao",Student.class));
// log.info("shixiaogang:"+applicationContext.getBean("shixiaogang",Teacher.class));
}
@Bean
public Student xiaowang( @Autowired Teacher teacher){
Student student = new Student();
student .setTeacher(teacher)
.setGrade(13)
.setName("xiaowang")
.setAge(12)
;
return student;
}
@Bean
//@Primary
public Teacher teacher(){
Teacher teacher = new Teacher();
teacher
.setCourse("语文")
.setName("文君胜")
.setAge(40);
return teacher;
}
@Override
public void run(ApplicationArguments args) throws Exception {
log.info("school:{}",xiaowang);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
学习spring ioc和aop
共117个文件
xml:78个
java:28个
gitignore:2个
需积分: 5 0 下载量 79 浏览量
2023-05-14
17:44:00
上传
评论
收藏 134KB ZIP 举报
温馨提示
spring 核心功能演示项目 1. applicationContext xml方式和注解方式配置 2. pring bean循环依赖。 3. spring bean 启动顺序。 4. BeanDefinition编程式注入到容器。 5. spring aop 打印 6. spring 事务
资源推荐
资源详情
资源评论
收起资源包目录
学习spring ioc和aop (117个子文件)
mvnw.cmd 7KB
lombok.config 126B
.gitignore 395B
.gitignore 176B
spring-core-learn.iml 8KB
maven-wrapper.jar 57KB
BeanDependencyDemo.java 3KB
TeacherFactoryBean.java 3KB
CircularReferenceDemo.java 2KB
BeanInitilizationDemo.java 1KB
AffiliateDO.java 1KB
SpringLearnAop.java 1KB
SpringCoreLearnApplication.java 1KB
Student.java 1KB
BeanInstantiationDemo.java 1KB
TeacherHolder.java 977B
Teacher.java 938B
StudentHolder.java 853B
Person.java 775B
AffiliateServiceImpl.java 721B
BeanAnnotateDemo.java 681B
TeacherBuilder.java 640B
Classroom.java 638B
StructureDO.java 590B
AnswerServiceImpl.java 541B
AffiliateMapper.java 470B
QuestionServiceImpl.java 368B
Answer.java 305B
TeacherFactory.java 274B
School.java 269B
SpringCoreLearnApplicationTests.java 237B
AffiliateService.java 223B
QuestionService.java 184B
AnswerService.java 167B
HELP.md 587B
mvnw 10KB
maven-wrapper.properties 233B
application.properties 80B
workspace.xml 16KB
uiDesigner.xml 9KB
pom.xml 3KB
applicationContext.xml 2KB
jarRepositories.xml 1KB
compiler.xml 885B
Maven__org_springframework_boot_spring_boot_configuration_processor_2_7_7.xml 736B
Maven__com_baomidou_dynamic_datasource_spring_boot_starter_3_6_1.xml 709B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_7.xml 701B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 688B
Maven__org_springframework_boot_spring_boot_starter_logging_2_7_7.xml 680B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_7.xml 666B
Maven__org_springframework_boot_spring_boot_starter_test_2_7_7.xml 659B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_7_7.xml 659B
Maven__org_springframework_boot_spring_boot_starter_aop_2_7_7.xml 652B
Maven__org_springframework_boot_spring_boot_starter_2_7_7.xml 624B
Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_21.xml 622B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 621B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 621B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 621B
Maven__com_baomidou_mybatis_plus_boot_starter_3_5_2.xml 618B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 614B
Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_21.xml 608B
Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_21.xml 608B
Maven__com_baomidou_mybatis_plus_annotation_3_5_2.xml 604B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 603B
Maven__org_springframework_boot_spring_boot_test_2_7_7.xml 603B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 603B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 599B
Maven__org_springframework_spring_expression_5_3_24.xml 597B
Maven__com_baomidou_mybatis_plus_extension_3_5_2.xml 597B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml 596B
Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml 586B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 582B
Maven__org_springframework_spring_context_5_3_24.xml 576B
Maven__org_jetbrains_kotlin_kotlin_stdlib_1_6_21.xml 573B
Maven__net_bytebuddy_byte_buddy_agent_1_12_20.xml 573B
Maven__org_springframework_boot_spring_boot_2_7_7.xml 568B
Maven__ch_qos_logback_logback_classic_1_2_11.xml 563B
Maven__com_baomidou_mybatis_plus_core_3_5_2.xml 562B
Maven__org_springframework_spring_beans_5_3_24.xml 562B
Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml 561B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 560B
Maven__com_mysql_mysql_connector_j_8_0_31.xml 557B
Maven__org_springframework_spring_jdbc_5_3_24.xml 555B
Maven__org_springframework_spring_core_5_3_24.xml 555B
Maven__org_springframework_spring_test_5_3_24.xml 555B
Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml 554B
Maven__org_springframework_spring_jcl_5_3_24.xml 548B
Maven__org_springframework_spring_aop_5_3_24.xml 548B
Maven__net_minidev_accessors_smart_2_4_8.xml 544B
Maven__ch_qos_logback_logback_core_1_2_11.xml 542B
Maven__org_springframework_spring_tx_5_3_24.xml 541B
Maven__org_mybatis_mybatis_spring_2_0_7.xml 537B
Maven__com_github_jsqlparser_jsqlparser_4_4.xml 535B
Maven__com_jayway_jsonpath_json_path_2_7_0.xml 534B
Maven__net_bytebuddy_byte_buddy_1_12_20.xml 531B
Maven__org_aspectj_aspectjweaver_1_9_7.xml 530B
Maven__org_assertj_assertj_core_3_22_0.xml 530B
Maven__com_baomidou_mybatis_plus_3_5_2.xml 527B
Maven__org_skyscreamer_jsonassert_1_5_1.xml 525B
Maven__org_mockito_mockito_core_4_5_1.xml 523B
共 117 条
- 1
- 2
资源评论
jiguansheng
- 粉丝: 145
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功