<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 導入新的約束 在spring中使用注解,我們必須在applicationContext.xml文件中添加一個標簽 `<context:annotation-config/>`作用是讓spring中常用的一些注解生效。 要使用contex名稱空間,必須在applicationContext.xml文件中引入 ![](https://box.kancloud.cn/298927ca77e631023e616bb1780d3774_1230x896.png) ![](https://box.kancloud.cn/a53fd75f892a5c07e12ed45aa8d98911_746x360.png) ![](https://box.kancloud.cn/d51767837f01084d82803f826ccd7626_1044x688.png) ![](https://box.kancloud.cn/3f68fe91f89712eb863ae58402b0ac13_1224x988.png) ![](https://box.kancloud.cn/859e7b5be54735db40cc4db1d6f1a262_1044x688.png) # 開啟使用注解代替配置文件 ~~~ <!-- 指定掃描bean包下面所有類以及包 注意:掃描包時,會掃描指定包下所有的子孫包 --> <context:component-scan base-package="studySpring"> </context:component-scan> ~~~ # 在類中使用 在類上這樣寫 ~~~ import org.springframework.stereotype.Component; @Component("user") // 相當于 <bean name="user" class="studySpring.User"> public class User { ~~~ Component里面的名字就是bean的名字 來個測試 ~~~ // 1. 創建容器對象 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); // 2. 向容器要user對象 Object u = ac.getBean("user"); // 3.打印user對象 System.out.println(u); ~~~ # 表示在那一層 ~~~ @Component("user") @Service("user") //service層 @Controller("user") //web層 @Repository("user") //dao層 ~~~ # 作用域 ~~~ @Scope(scopeName = "prototype") //scopeName取值有singleton|prototype,默認是singleton ~~~ # 注入值 ~~~ @Value("tom") private String name; //可以忽略value,寫成這樣@Value("18") @Value(value = "18") private Integer age; ~~~ 還有種 ~~~ @Value("tom") public void setName(String name) { this.name = name; } ~~~ 他們區別是上面一個是通過反射name來賦值,下面一個是通過set方法賦值 上面一種賦值是破壞了封裝性 **給引用類型注入** 首先對應的類型注入 ~~~ @Component("car") public class Car { ~~~ 然后自動裝備 ~~~ @Autowired // 自動裝配 private Car car; ~~~ 但是問題來了,匹配多個對象,將無法確定 可以這樣,告訴裝配那個名稱 ~~~ @Autowired // 自動裝配 @Qualifier("car2") ~~~ 也可以這樣,指定告訴他要注入那個 ~~~ @Resource(name = "car") private Car car; ~~~ # 初始化方法和銷毀方法 ~~~ @PostConstruct // 在對象創建后調用,init-method public void init() { System.out.println("我是初始化方法!"); } @PreDestroy // 在銷毀之前調用.destory-method public void destory() { System.out.println("我是銷毀方法!"); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看