• java spring boot @bean的用法


    java spring boot @bean的用法

    1 先看下spring bean xml中的应用

    package tutorialspoint;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class MainApp {
        public static void main(String[] args) {
            ApplicationContext context =
                    new ClassPathXmlApplicationContext("Beans.xml");
            HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
            obj.getMessage();
    
    
        }
    }
    package tutorialspoint;
    
    public class HelloWorld {
        private String message;
        public void setMessage(String message){
            this.message  = message;
        }
        public void getMessage(){
            System.out.println("Your Message : " + message);
        }
    }
    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    
        <bean id="helloWorld" class="tutorialspoint.HelloWorld">
            <property name="message" value="Hello World111!"/>
        </bean>
    
    </beans>

    A类调用B类 就是 A通过bean.xml 获取B 。。。。。。 反正我不喜欢这种设计模式 感觉不太好用。。。

    2 再看看还有个写法

    不用bean.xml 用@Configuration @Bean  代码bean.xml

    package tutorialspoint;
    import org.springframework.context.annotation.*;
    @Configuration
    public class HelloWorldConfig {
        @Bean
        public HelloWorld helloWorld(){
            return new HelloWorld();
        }
    }
    package tutorialspoint;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class MainApp {
        public static void main(String[] args) {
            ApplicationContext ctx =
                    new AnnotationConfigApplicationContext(HelloWorldConfig.class);
            HelloWorld helloWorld = ctx.getBean(HelloWorld.class);
            helloWorld.setMessage("Hello World!");
            helloWorld.getMessage();
    
    
        }
    }

    感觉还是看xml舒服。。

  • 相关阅读:
    架构漫谈-阅读笔记(一)
    一线架构师实践指南--总结
    周四进度二
    质量属性改进
    结对作业第一次
    软件工程(2019)第三次作业
    软件工程(2019)第二次作业
    MarkDown编辑方法网址
    软件工程(2019年)第一次作业
    本人的coding地址
  • 原文地址:https://www.cnblogs.com/newmiracle/p/12760281.html
Copyright © 2020-2023  润新知