[考研|报考科大软院] 2019中科大软院一志愿复试名单
admin
· 发布于 2019-03-07 20:56
· 14249 次阅读
2222222222222222222222222222 |
学习学习 |
看看 看看 谢谢 |
kkxxkkxxkkxxkkxxkkxx |
1111111111111 |
<article class="baidu_pl"> <div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"> <div class="article-copyright"> <svg class="icon" title="CSDN认证原创" aria-hidden="true" style="width:53px; height: 18px; vertical-align: -4px;"> <use xlink:href="#CSDN_Cert"></use> </svg> 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ggGavin/article/details/79517418 </div> <div id="content_views" class="markdown_views"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg> <h2 id="spring是什么"><a name="t0"></a><strong>Spring是什么?</strong></h2> <blockquote> <ol> <li><p>Struts是Web框架</p></li> <li><p>Hibernate是ORM框架,处于持久层</p></li> <li><p>Spring是容器框架,用于配置Bean,并维护Bean之间关系的一种框架。</p></li> </ol> </blockquote> <ol> <li><p>Spring中有一个非常重要的概念:Bean,Bean是Java中的任何一种对象,它可以是JavaBean、可以是Service,可以是Action,也可以是DAO</p></li> <li><p>重要的概念:IOC(控制反转,Inverse Of Control), DI(依赖注入,Dependency Injection),两者是一样的</p></li> </ol> <h2 id="入门案例"><a name="t1"></a><strong>入门案例</strong></h2> <p>通过IDEA开发一个Spring的入门项目<code>SpringFirst</code>。</p> <p><strong>1. 新建项目,并且添加Spring框架支持。</strong></p> <p><img src="https://img-blog.csdn.net/20180311161937512?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <p><img src="https://img-blog.csdn.net/20180311161949908?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <p>接着输入项目名字<code>SpringFirst</code>。</p> <p><img src="https://img-blog.csdn.net/20180311162009778?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <p>点击<a target="_blank">Finish</a>之后,IDEA会帮我们下载Spring框架的Jar包。</p> <p><img src="https://img-blog.csdn.net/20180311162020496?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <p>完成之后,项目的目录结构如下:</p> <p><img src="https://img-blog.csdn.net/20180311162033320?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <p>可以看到IDEA自动帮我们下载了Spring的支持Jar包,并添加了配置文件<code>spring-config.xml</code>。</p> <ol> <li><strong>开发一个Bean,假设为UserService,如下代码:</strong></li> </ol> <pre class="prettyprint" name="code"><code class="language-java hljs has-numbering"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserService</span> {</span> <span class="hljs-keyword">private</span> String name; <span class="hljs-keyword">public</span> String <span class="hljs-title">getName</span>() { <span class="hljs-keyword">return</span> name; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setName</span>(String name) { <span class="hljs-keyword">this</span>.name = name; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayHello</span>() { System.out.println(<span class="hljs-string">"Hello, "</span> + name); } }</code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li></ul></pre> <ol> <li><strong>配置spring-config.xml文件:</strong></li> </ol> <pre class="prettyprint" name="code"><code class="language-xml hljs has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="UTF-8"?></span> <span class="hljs-tag"><<span class="hljs-title">beans</span> <span class="hljs-attribute">xmlns</span>=<span class="hljs-value">"http://www.springframework.org/schema/beans"</span> <span class="hljs-attribute">xmlns:xsi</span>=<span class="hljs-value">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="hljs-attribute">xsi:schemaLocation</span>=<span class="hljs-value">"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"</span>></span> <span class="hljs-comment"><!--在容器文件中配置Bean--></span> <span class="hljs-comment"><!--bean元素的作用是:当Spring框架加载的时候,Spring就会自动创建该Bean对象,并放入内存--></span> <span class="hljs-tag"><<span class="hljs-title">bean</span> <span class="hljs-attribute">id</span>=<span class="hljs-value">"userService"</span> <span class="hljs-attribute">class</span>=<span class="hljs-value">"com.gavin.service.UserService"</span>></span> <span class="hljs-comment"><!--这里体现出注入的概念,把属性的值注入到Bean对象中--></span> <span class="hljs-tag"><<span class="hljs-title">property</span> <span class="hljs-attribute">name</span>=<span class="hljs-value">"name"</span>></span> <span class="hljs-tag"><<span class="hljs-title">value</span>></span>Gavin<span class="hljs-tag"></<span class="hljs-title">value</span>></span> <span class="hljs-tag"></<span class="hljs-title">property</span>></span> <span class="hljs-tag"></<span class="hljs-title">bean</span>></span> <span class="hljs-tag"></<span class="hljs-title">beans</span>></span></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li></ul></pre> <ol> <li><strong>在主方法中测试:</strong></li> </ol> <pre class="prettyprint" name="code"><code class="language-java hljs has-numbering"><span class="hljs-keyword">import</span> com.gavin.service.UserService; <span class="hljs-keyword">import</span> org.springframework.context.ApplicationContext; <span class="hljs-keyword">import</span> org.springframework.context.support.ClassPathXmlApplicationContext; <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">TestMain</span> {</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String[] args) { ApplicationContext applicationContext = <span class="hljs-keyword">new</span> ClassPathXmlApplicationContext(<span class="hljs-string">"spring-config.xml"</span>); UserService userService = (UserService) applicationContext.getBean(<span class="hljs-string">"userService"</span>); userService.sayHello(); } }</code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li></ul></pre> <p>程序输出:</p> <p><img src="https://img-blog.csdn.net/20180311162123902?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <h2 id="细节讨论"><a name="t2"></a><strong>细节讨论</strong></h2> <p><strong>传统的方法和使用Spring的方法有什么区别:</strong></p> <ol> <li><p>使用Spring,没有new对象,而是把创建对象的任务交给Spring框架</p></li> <li><p>Spring怎么维护对象与对象之间的关系呢? –> 利用<code>ref</code>属性。看下述案例。</p></li> </ol> <p>那么,假设我们添加<code>ByeService</code>,并且在<code>UserService</code>中组合了<code>ByeService</code>对象。</p> <p><code>ByeService</code>如下:</p> <pre class="prettyprint" name="code"><code class="language-java hljs has-numbering"><span class="hljs-keyword">package</span> com.gavin.service; <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ByeService</span> {</span> <span class="hljs-keyword">private</span> String name; <span class="hljs-keyword">public</span> String <span class="hljs-title">getName</span>() { <span class="hljs-keyword">return</span> name; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setName</span>(String name) { <span class="hljs-keyword">this</span>.name = name; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayBye</span>() { System.out.println(<span class="hljs-string">"Bye, "</span> + name); } }</code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li></ul></pre> <p><code>UserService</code>组合<code>ByeService</code>如下:</p> <pre class="prettyprint" name="code"><code class="language-java hljs has-numbering"><span class="hljs-keyword">package</span> com.gavin.service; <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserService</span> {</span> <span class="hljs-keyword">private</span> String name; <span class="hljs-keyword">private</span> ByeService byeService; <span class="hljs-keyword">public</span> String <span class="hljs-title">getName</span>() { <span class="hljs-keyword">return</span> name; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setName</span>(String name) { <span class="hljs-keyword">this</span>.name = name; } <span class="hljs-keyword">public</span> ByeService <span class="hljs-title">getByeService</span>() { <span class="hljs-keyword">return</span> byeService; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setByeService</span>(ByeService byeService) { <span class="hljs-keyword">this</span>.byeService = byeService; } <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayHello</span>() { System.out.println(<span class="hljs-string">"Hello, "</span> + name); byeService.sayBye(); } } </code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li><li style="color: rgb(153, 153, 153);">23</li><li style="color: rgb(153, 153, 153);">24</li><li style="color: rgb(153, 153, 153);">25</li><li style="color: rgb(153, 153, 153);">26</li><li style="color: rgb(153, 153, 153);">27</li><li style="color: rgb(153, 153, 153);">28</li></ul></pre> <p>配置文件<code>spring-config.xml</code>配置如下:</p> <pre class="prettyprint" name="code"><code class="language-xml hljs has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="UTF-8"?></span> <span class="hljs-tag"><<span class="hljs-title">beans</span> <span class="hljs-attribute">xmlns</span>=<span class="hljs-value">"http://www.springframework.org/schema/beans"</span> <span class="hljs-attribute">xmlns:xsi</span>=<span class="hljs-value">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="hljs-attribute">xsi:schemaLocation</span>=<span class="hljs-value">"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"</span>></span> <span class="hljs-comment"><!--在容器文件中配置Bean--></span> <span class="hljs-comment"><!--bean元素的作用是:当Spring框架加载的时候,Spring就会自动创建该Bean对象,并放入内存--></span> <span class="hljs-tag"><<span class="hljs-title">bean</span> <span class="hljs-attribute">id</span>=<span class="hljs-value">"userService"</span> <span class="hljs-attribute">class</span>=<span class="hljs-value">"com.gavin.service.UserService"</span>></span> <span class="hljs-comment"><!--这里体现出注入的概念,把属性的值注入到Bean对象中--></span> <span class="hljs-tag"><<span class="hljs-title">property</span> <span class="hljs-attribute">name</span>=<span class="hljs-value">"name"</span>></span> <span class="hljs-tag"><<span class="hljs-title">value</span>></span>Gavin<span class="hljs-tag"></<span class="hljs-title">value</span>></span> <span class="hljs-tag"></<span class="hljs-title">property</span>></span> <span class="hljs-comment"><!--在userService中引用配置的另外一个bean,比如byeService--></span> <span class="hljs-tag"><<span class="hljs-title">property</span> <span class="hljs-attribute">name</span>=<span class="hljs-value">"byeService"</span> <span class="hljs-attribute">ref</span>=<span class="hljs-value">"byeService"</span>/></span> <span class="hljs-tag"></<span class="hljs-title">bean</span>></span> <span class="hljs-tag"><<span class="hljs-title">bean</span> <span class="hljs-attribute">id</span>=<span class="hljs-value">"byeService"</span> <span class="hljs-attribute">class</span>=<span class="hljs-value">"com.gavin.service.ByeService"</span>></span> <span class="hljs-tag"><<span class="hljs-title">property</span> <span class="hljs-attribute">name</span>=<span class="hljs-value">"name"</span>></span> <span class="hljs-tag"><<span class="hljs-title">value</span>></span>XiaoMing<span class="hljs-tag"></<span class="hljs-title">value</span>></span> <span class="hljs-tag"></<span class="hljs-title">property</span>></span> <span class="hljs-tag"></<span class="hljs-title">bean</span>></span> <span class="hljs-tag"></<span class="hljs-title">beans</span>></span><span class="hljs-tag"></<span class="hljs-title">bean</span>></span></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li></ul></pre> <p>此时我们再次执行测试,输出如下:</p> <p><img src="https://img-blog.csdn.net/20180311162154945?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2dHYXZpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述" title=""></p> <ol> <li><p>当<code>ClassPathXmlApplicationContext("spring-config.xml")</code>执行的时候,Spring容器对象被创建,同时spring-config中配置的Bean就会被创建(依赖于反射机制)</p></li> <li><p><code>UserService userService = (UserService)applicationContext.getBean("userService");</code>获取Spring容器中的对象。</p></li> </ol> <h2 id="ioc是什么"><a name="t3"></a><strong>IOC是什么?</strong></h2> <p>IOC(Inverse Of Control),控制反转。所谓控制反转,就是把创建对象(Bean)和维护对象(Bean)关系的权力从程序中转移到Spring容器中,而程序本身不再负责维护。</p> <h2 id="di是什么"><a name="t4"></a><strong>DI是什么?</strong></h2> <p>DI(Dependency Injection),依赖注入。所谓依赖注入,实际上,DI和IOC是同一个概念,Spring设计者认为DI能更准确地表示Spring的核心技术。</p> <h2 id="重量级applicationcontext"><a name="t5"></a><strong>重量级ApplicationContext</strong></h2> <p>因为<code>ApplicationContext</code>是一个重量级的类,所以将其做成单态的,如下工具类代码:</p> <pre class="prettyprint" name="code"><code class="language-java hljs has-numbering"><span class="hljs-keyword">final</span> <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ApplicationContextUtil</span> {</span> <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> ApplicationContext applicationContext = <span class="hljs-keyword">null</span>; <span class="hljs-keyword">static</span>{ applicationContext = <span class="hljs-keyword">new</span> ClassPathXmlApplicationContext(<span class="hljs-string">"spring-config.xml"</span>); } <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> ApplicationContext <span class="hljs-title">getApplicationContext</span>(){ <span class="hljs-keyword">return</span> applicationContext; } <span class="hljs-keyword">private</span> <span class="hljs-title">ApplicationContextUtil</span>(){} }</code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li></ul></pre> </div> <link rel="stylesheet"> </div> </article> |
kkkkkkkkkkkkkkkkkkkk |
谢谢~~~~~~~~~~~~~~~~~ |
1111111111111111 |
看看看看看看看看看看看看看 |
2222222222233333333333333333 |
llccustcustc |
|