spring学习3-获取bean对象

简介: spring学习3-获取bean对象

image.png

MesasageService 类
    package hello;
     import org.springframework.stereotype.Component;
     //注解的加入
     @Component
     public class MesasageService {
         public MesasageService() {
             super();
             System.out.println("MessageService...");
         }
         /**
          * 执行打印功能
          * @return 返回要打印的字符串
          */
         public String getMessage(){
             return "Hello World";
         }
     }MessagePrinter类
    package hello;
     import org.springframework.stereotype.Component;
     //注解的加入
     @Component
     public class MessagePrinter {
         //无参构造方法的加入
         public MessagePrinter() {
             super();
             System.out.println("MessagePrinter...");
         }
         private MesasageService service;
         /*
         * 简历和MessageService的关系
         * */
         //设置service的值
         public void setService(MesasageService service){
             this.service =service;
         }
         public void printMessage(){
             System.out.println(this.service.getMessage());
         }
     }ApplicationSpring类
    package hello;
     import org.springframework.context.ApplicationContext;
     import org.springframework.context.annotation.AnnotationConfigApplicationContext;
     import org.springframework.context.annotation.ComponentScan;
     //加入扫描
     @ComponentScan
     public class ApplicationSpring {
         public static void main(String[] args){
             System.out.println("appliaction....");
             //初始化spring
             ApplicationContext context =new AnnotationConfigApplicationContext(ApplicationSpring.class);
             //获取messagePrinter对象
             MessagePrinter printer=context.getBean(MessagePrinter.class);
             //获取messafeService对象
             MesasageService service=context.getBean(MesasageService.class);
             System.out.println(printer);
             System.out.println(service);
             printer.setService(service);
             //打印消息
             printer.printMessage();
         }
     }运行结果
    appliaction....
     10月 27, 2019 6:30:54 下午 org.springframework.context.annotation.AnnotationConfigApplicationContext prepareRefresh
     信息: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@3d012ddd: startup date [Sun Oct 27 18:30:54 CST 2019]; root of context hierarchy
     MessageService...
     MessagePrinter...
     hello.MessagePrinter@10e92f8f
     hello.MesasageService@7ce3cb8e
     Hello World
相关文章
|
24天前
|
XML 安全 Java
|
6天前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
33 6
|
8天前
|
XML Java 数据格式
🌱 深入Spring的心脏:Bean配置的艺术与实践 🌟
本文深入探讨了Spring框架中Bean配置的奥秘,从基本概念到XML配置文件的使用,再到静态工厂方式实例化Bean的详细步骤,通过实际代码示例帮助读者更好地理解和应用Spring的Bean配置。希望对你的Spring开发之旅有所助益。
52 3
|
22天前
|
安全 Java 开发者
Spring容器中的bean是线程安全的吗?
Spring容器中的bean默认为单例模式,多线程环境下若操作共享成员变量,易引发线程安全问题。Spring未对单例bean做线程安全处理,需开发者自行解决。通常,Spring bean(如Controller、Service、Dao)无状态变化,故多为线程安全。若涉及线程安全问题,可通过编码或设置bean作用域为prototype解决。
32 1
|
23小时前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
23小时前
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
|
14天前
|
XML 安全 Java
Spring Boot中使用MapStruct进行对象映射
本文介绍如何在Spring Boot项目中使用MapStruct进行对象映射,探讨其性能高效、类型安全及易于集成等优势,并详细说明添加MapStruct依赖的步骤。
|
1月前
|
Java Kotlin 索引
学习Spring框架特性及jiar包下载
Spring 5作为最新版本,更新了JDK基线至8,修订了核心框架,增强了反射和接口功能,支持响应式编程及Kotlin语言,引入了函数式Web框架,并提升了测试功能。Spring框架可在其官网下载,包括文档、jar包和XML Schema文档,适用于Java SE和Java EE项目。
33 0
|
7月前
|
存储 Java 数据库
Spring的使用-Bean对象的储存和获取/Bea对象的作用域与生命周期
Spring的使用-Bean对象的储存和获取/Bea对象的作用域与生命周期
|
设计模式 前端开发 Java
Spring Bean对象生命周期
Spring Bean对象生命周期
416 0