1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        SimbaJava 依賴注入框架

        聯(lián)合創(chuàng)作 · 2023-09-30 06:59

        Simba是基于Java的依賴注入和AOP框架

        • 輕量級的依賴注入和AOP框架

        • 使用XML方式定義依賴注入

        • 支持面向切面的編程方式

        安裝方式

        <dependency>
            <groupId>org.pinae</groupId>
            <artifactId>simba</artifactId>
            <version>1.1</version>
        </dependency>

        XML定義方式

        <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../bean.xsd">
            <bean name="PersonFactory" class="org.pinae.simba.context.resource.Person"
                factory-bean="org.pinae.simba.context.resource.PersonFactory" 
                factory-method="getPerson"
                create="create" run="run" singleton="true" 
                timeout="3" destroy="destroy">
        
                <property name="name">
                    <reflection>Name</reflection>
                </property>
                <property name="age">
                    <value>27</value>
                </property>
                <property name="email">
                    <value>[email protected]</value>
                </property>
                <property name="admin">
                    <value>true</value>
                </property>
            </bean>
        
            <bean name="Name" class="org.pinae.simba.context.resource.Person.Name">
                <constructor>
                    <value>hui</value>
                    <value>yugeng</value>
                </constructor>
            </bean>
        </beans>

        Java Bean

        public class Person {
        
            private static Logger log = Logger.getLogger(Person.class);
        
            private Name name;
            private int age;
            private String email;
            private boolean admin;
        
            public Name getName() {
                return name;
            }
            public void setName(Name name) {
                this.name = name;
            }
            public int getAge() {
                return age;
            }
            public void setAge(int age) {
                this.age = age;
            }
            public String getEmail() {
                return email;
            }
            public void setEmail(String email) {
                this.email = email;
            }
            public boolean isAdmin() {
                return admin;
            }
            public void setAdmin(boolean admin) {
                this.admin = admin;
            }
            public void create(){
                log.debug("Create Person Bean");
            }
            public void run(){
                this.age ++;
            }
            public void destroy(){
                log.debug("Destory Person Bean");
            }
        
            public class Name {
                private String firstName;
                private String lastName;
        
                public Name(String lastName, String firstName){
                    this.lastName = lastName;
                    this.firstName = firstName;
                }
                public String getFirstName() {
                    return firstName;
                }
                public void setFirstName(String firstName) {
                    this.firstName = firstName;
                }
                public String getLastName() {
                    return lastName;
                }
                public void setLastName(String lastName) {
                    this.lastName = lastName;
                }
            }
        }

        實例程序

        public class DemoTestManager {
        
            private static Logger log = Logger.getLogger(DemoTestManager.class);
        
            public static void main(String arg[]) throws Exception {
                ResourceContext bean = new FileSystemResourceContext("Person.xml");
                Person person = (Person)bean.getBean("PersonFactory");
        
                logger.debug(person.getName().getLastName() + ":" + person.getEmail());
            }
        }

        瀏覽 24
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美 日韩 国产 成人 在线 91 | 在线操 | 亚洲精品菠萝久久久久久久 | 在线欧美网址 | 77777欧美 | 把女仆吊起来双腿扒开调教 | 国产精品极品美女观看免费 | 欧美在线aaa | 娇妻夹精喂夫系列小说 | 精品一区二区在线播放 |