1.そのような話がありますが、豆のXML設定ファイルで始まります
時間と春のXML設定ファイル(あなたが使用していない、この記事を読んで知っていない、私はいくつかの時間を費やし、それは痛みのQQQの暗い思い出だった)、XML設定ファイルのBeanの数があります。このように:
<bean id="helloWorld" class="com.test.spring.beans.HelloWorld"> <property name="name" value="Spring"></property> </bean>
各Beanは、私は、彼らがどのような名前(例:helloworldの)と呼ばれるもの豆ここにある、コントローラとすることができる春を告げるサービス、おそらくDAO、XML設定ファイルであってもよいし、クラスに対応している彼らのクラスファイルで彼らが持っている属性(com.test.spring.beans.HelloWorld)、。プロジェクトが始まったときにこのように、春が戻って、これらのクラスの管理を行ってきました。
2. @Configuration時代
あなたは今使用し@Service
、@Repository
、@Component
Javaクラスの春にこれらの注釈を伝えるために:「私が管理し、これらのクラスをマークするように依頼します。」このBeanは、上記のXML設定ファイルを記述することである前に、クラスは、Bean(それはあまりにも面倒です.....不便コードコードは、便利な修正を読み取るために便利ではない)、xml設定を記述していますファイルには、豆をたくさん書きます。
要約すると:
-
@Configuration
私はあなたに経営を与えるためにロットのSpring Beanがある告げる同等のXML設定ファイルノート -
@Bean
豆の内部メモ同等のXML設定ファイルは、春はあなたが管理することで、注釈付きクラスに語った
、それは非常に単純ではない話が終わっノートを置き換えるために春のXML設定ファイルの歴史の中で、ここに!
=========10万行を分割する理由===============
、その問題が解決されているので、そこ@Component何の問題???
時には素朴な若者、
ステージ上3. @Component
未知のマスターは、怠惰は人間の創造の源である前に言いました。私はいつもクラスを書くために私のクラスを取るだけでなく、書き込みに@Configuration
春を告げるために、クラスのコメント(通知春以外に、このクラスは、他の値を持っていない)、このクラスが良いと読みやすく書くためにXML設定ファイルと比較するが、しかし、それを春、なぜ常にあるこの時間は、しかし、直接私に教えないのですか???
@Controller
、@Service
、@Repository
です@Component
(ここで間違っている場合ギャング光スプレーを求めて、)より具体的な実装。完成したクラスに加えてこれらのノートは、実際には、追加@Component
の注釈を、春には理解し、AOAOは、あなたの子供が面倒、そんなに私はしかし、その後再び、管理されているすべてのようなあなたも私の馬場を作ります!
これは、はい、それで逃げるありませんが、本当に逃げるされていません。
4.「しかし」帰ってきました
はい、しかし、ここにあります。以来、一部の人が考えること、@Component
Spring'veが問題を解決して、その後、@Bean
このコメントは、なぜああ引退ではない追加する新しい春見ていない理由を、子どもたちは、まだここに立っていましたか@Deprecated
???
若者はアイデアを持っています!!!
仮定すると、このような状況は、いくつかのクラスがありますが、私は書かないではありませんが、週末の散歩外灘を書くための時間がないことを、この時点で、私は、同じ機能のクラスを書いた古い鉄alimamaを見つけました彼らは役に立たない春を書くとき、私は、幸せな3秒、それは達人に完成されるだろうインポートし、別の問題:
- 1)私は上記のクラスを追加することはできません、JARパッケージを築く
@Component
コメント。 - 2)QQQ私は自分のソースコードを持っていない、また彼らは、コードをコピーすることができ、再びそれを書き換えるためにふり
今回は@Bean
アクションが明らかにされては、以下を参照してください。
@Configuration
public class MyClass { // class1和class2就是jar包里写好的 @Bean public Class1 getClass1() { return new Class1(); } @Bean public Class2 getClass1() { return new Class2(); } ..... }
バックにはしばらく@Component出场
前の@Configuration
時代。しかし、あなたはこの権利を使用し、多くの場合は必要ありません。
4.さんは、今日の話のほとんどないドライエンドを見てみましょう
Spring管理豆我々は必要@Autowired
か@Resource
、お二人だけの問題を言って、それを探しに行くことができるものとの違いを使用してインポート。@Autowired
アセンブリの種類に応じて、@Resource
アセンブリの名前に応じて、同じ豆よりタイプではなく、同じ名前を追加@Autowired
直接エラーに。この時点で対象@Resource(name="name")
やは@Autowired@Qualifier("name")
、問題を解決するために、名前で組み立てられます。