<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JThreeStone的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u014338530</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014338530]]></copyright><item><title><![CDATA[Spring注解学习之：Bean的初始化和销毁]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/89509908</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/89509908</guid><author>u014338530</author><pubDate>Thu, 25 Apr 2019 10:43:16 +0800</pubDate><description><![CDATA[首先，一个Bean是有生命周期的，IOC容器帮我创建---&gt;初始化----&gt;销毁Bean；通过配置文件的方式，可以再&lt;bean/&gt;标签中进行参数设定，init-method属性和destroy-method的属性。通过该属性，分别指定没有参数的方法，进行初始化和销毁操作；同样的，我们可以通过注解的形式，来自定义初始化或者销毁方法；

1、@Bean(initMethod =...]]></description><category></category></item><item><title><![CDATA[Spring注解学习之：@Import]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/89502725</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/89502725</guid><author>u014338530</author><pubDate>Wed, 24 Apr 2019 22:03:56 +0800</pubDate><description><![CDATA[首先，Spring往IOC容器中注册Bean的方法有以下几种：

1、通过包扫描+注解的方式；如@Controller，@Service，@Reposity，@Component；

2、通过@Bean的形式；

3、通过@Import的形式；

4、通过BeanFactory的形式进行注册；

前2点在上面的有所记录过，今天就主要记录一下在学习如何使用@Import和BeanFactory进行组...]]></description><category></category></item><item><title><![CDATA[Spring注解学习之：@Scope，@Lazy，@Conditional]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/89473873</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/89473873</guid><author>u014338530</author><pubDate>Tue, 23 Apr 2019 16:30:05 +0800</pubDate><description><![CDATA[1、@Scope

首先，有一点需要说明，在SpringIOC容器中，所有注册的bean（controller，service，dao，....），默认情况下都是单实例的，及singleton；那有哪些作用域，分别什么意思？如下表：

作用域
			解释说明
		singleton
			单实例，在创建IOC时，bean就会被创建，而且只会创建一次，以后都会直接使用该创建对象，相当于map.get...]]></description><category></category></item><item><title><![CDATA[Spring注解学习之：@Configuration，@Bean，@ComponentScan]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/89471431</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/89471431</guid><author>u014338530</author><pubDate>Tue, 23 Apr 2019 14:58:39 +0800</pubDate><description><![CDATA[以前学习Spring时，使用IOC，需要利用到xml配置文件进行组建的注册和设定等等。同样也可以使用注解的方式进行操作，下面是个人在学习注解开发过程中做的一些总结；

1、@Configuration：告诉Spring，当前class类是一个配置类，等同于以前的xml文件；在@Configuration里面，其实也是一个@Component；要想被@Configuration注解，当前类不可以是f...]]></description><category></category></item><item><title><![CDATA[Mybatis学习路之一对一分布式关联查询]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/88895771</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/88895771</guid><author>u014338530</author><pubDate>Fri, 29 Mar 2019 16:28:23 +0800</pubDate><description><![CDATA[一个简单的需求，Student表和Course表，Student表中有一个courseId字段，对应的是Course表的id主键，进行关联查询，查询学生的时候，同时查出学生对应的课程信息；



这里利用Mybatis的&lt;resultMap&gt;中的&lt;association&gt;进行分布式关联查询。简单的实体类以及接口不在这里展示，主要看一下mapper.xml文件内容

1...]]></description><category></category></item><item><title><![CDATA[Mybatis学习路之缓存机制]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/88885041</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/88885041</guid><author>u014338530</author><pubDate>Fri, 29 Mar 2019 10:47:48 +0800</pubDate><description><![CDATA[1、Mybatis缓存机制

在进行对数据库操作时，大量的访问数据库，难免会造成性能方面的问题；Mybatis持久层框架，提供了缓存机制来解决此类问题；Mybatis提供了2中缓存机制，一级缓存和二级缓存。最近也是在学习此部分知识，特意在这里进行记录，以便后续学习工作时使用。

一级缓存
			
			1、也叫作本地缓存，基于sqlsession的缓存，顾名思义在同一个sqlsession会话期...]]></description><category></category></item><item><title><![CDATA[Java动态代理之基于接口实现（JDK动态代理）]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/88779017</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/88779017</guid><author>u014338530</author><pubDate>Sun, 24 Mar 2019 18:00:02 +0800</pubDate><description><![CDATA[1、动态代理的原理

代理设计模式的原理：使用一个代理将原本对象包装起来，然后用该代理对象”取代”原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。



Java提供2中动态代理的方式，一种是基于接口实现（JDK动态代理），一种是基于继承实现（Cglib）。

2、基于接口的动态代理模式

JDK代理模式中，有两个重要的点；一个类（Proxy）和一个...]]></description><category></category></item><item><title><![CDATA[SpringBoot 利用aspectJ进行AOP切面管理]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/88778158</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/88778158</guid><author>u014338530</author><pubDate>Sun, 24 Mar 2019 16:58:13 +0800</pubDate><description><![CDATA[Java是面向对象编程，Java AOP是面向切面编程，最近学习该部分内容知识，讲学习心得在这里做一个整理，以帮助后续学习以及使用。

首先什么事AOP？个人理解，在开发过程中，又核心业务，也有非核心业务。例如一个登陆功能，在登录功能中核心业务是进行登陆操作，继判断用户是否在数据库中存在；同事也有一些非核心业务，如日志记录，参数校验等。模块化开发思想，将这三部分模块进行分开处理，从而不会使得代码冗...]]></description><category></category></item><item><title><![CDATA[Collections，常用的方法总结]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/88032061</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/88032061</guid><author>u014338530</author><pubDate>Thu, 28 Feb 2019 15:59:30 +0800</pubDate><description><![CDATA[/**
     * 利用Collections.sort()方法，进行集合的排序，为升序
     */
    @Test
    public void mySort(){
        List&amp;lt;Integer&amp;gt; integers = new ArrayList&amp;lt;&amp;gt;();
        integers.add(10);
        intege...]]></description><category></category></item><item><title><![CDATA[Arrys Api调试]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/87971776</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/87971776</guid><author>u014338530</author><pubDate>Wed, 27 Feb 2019 14:12:54 +0800</pubDate><description><![CDATA[
    @Test
    public void myArrays(){
        int[] arr = new int[]{0,2,3,4,6,8,10};
        /** Arrays.sort(arr)
         *  对arr数组进行排序
         */
        Arrays.sort(arr);
        System.out.print...]]></description><category></category></item><item><title><![CDATA[StringBuffer Api]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/87971452</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/87971452</guid><author>u014338530</author><pubDate>Wed, 27 Feb 2019 13:56:40 +0800</pubDate><description><![CDATA[
    @Test
    public void myStringBuffer(){
        StringBuffer sb = new StringBuffer(&quot;hello&quot;);
        /** append(string s) 将制定s串追加到stingbuffer之后*/
        System.out.println(sb.append(&quot; world!&quot;));...]]></description><category></category></item><item><title><![CDATA[File API方法的使用]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/87936668</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/87936668</guid><author>u014338530</author><pubDate>Tue, 26 Feb 2019 15:53:45 +0800</pubDate><description><![CDATA[
    @Test
    public void myFileTest() throws ParseException {
        String path1 = &quot;D:\\data\\myFileTest&quot;;
        String path2 = &quot;D:\\data0\\myFileTest&quot;;
        /** file.mkdir()
         * 创建文件，...]]></description><category></category></item><item><title><![CDATA[String API方法的使用]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/87934111</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/87934111</guid><author>u014338530</author><pubDate>Tue, 26 Feb 2019 14:15:27 +0800</pubDate><description><![CDATA[
@Test
    public void contextLoads() {
        String str = &quot;SpringbootStringapiApplicationTests&quot;;
        /** charAt(),返回指定位置的char值 */
        System.out.println(str.charAt(2));//r
        /** compa...]]></description><category></category></item><item><title><![CDATA[java中有关于DecimalFormat的使用]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/87929689</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/87929689</guid><author>u014338530</author><pubDate>Tue, 26 Feb 2019 10:24:41 +0800</pubDate><description><![CDATA[DecimalFormat用来格式化十进制数字，入保留小数，科学计算法等等。在DecimalFormat中，有以下几种特殊字符，基本含义解释如下：

0
			代表一个任意数字，或者是在末尾补0
		#
			代表一个不包含0的任意数字
		.
			小数点占位符
		，
			分组分隔符占位符
		-
			减号或者负号，自动在数字前加负号
		%
			百分比计算，自动的
		E
			解学计...]]></description><category></category></item><item><title><![CDATA[JAVA过滤器，拦截器，监听器之拦截器]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/86510568</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/86510568</guid><author>u014338530</author><pubDate>Wed, 16 Jan 2019 16:59:58 +0800</pubDate><description><![CDATA[之前记录了SpringBoot中使用过滤器，其实拦截器和过滤器从功能上来说，拦截器/过滤器所能实现的功能过滤器/拦截器都能够实现。但是过滤器是java实现的，它需要依赖于Servlet容器，而拦截器是SprignMVC实现的一个机制，独立于Servlet容器，而且能实现IOC容器中的各个bean。简单的说：过滤器的urlPattern针对的是所有的请求，而拦截器的urlPattern针对的Spri...]]></description><category></category></item><item><title><![CDATA[JAVA过滤器，拦截器，监听器之过滤器]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/86509064</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/86509064</guid><author>u014338530</author><pubDate>Wed, 16 Jan 2019 16:25:38 +0800</pubDate><description><![CDATA[JAVA过滤器首先字面意思可以大概知道具体的功能是做什么。



1、定义：

过滤器Filter，是Servlet的的一个实用技术了。可通过过滤器，对请求进行预处理，例如判断用户是否登录、判断访问的重定向访问url，访问参数是否为敏感词等等等等。

2、过滤器的实现方式（以springboot为例）

过滤器的实现方式有两种，第一种是利用WebFilter注解进行配置，第二种是使用FilterR...]]></description><category></category></item><item><title><![CDATA[springboot读取.properties配置文件中的map和list类型配置参数]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/86136986</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/86136986</guid><author>u014338530</author><pubDate>Wed, 09 Jan 2019 11:12:47 +0800</pubDate><description><![CDATA[.properties文件中存放一组配置参数，分别为map类型和list类型，做测试方式，读取配置参数。

1、配置文件application.properties添加如下参数：


#map 第一种方式
data.person.name=zhangsan
data.person.sex=man
data.person.age=11
data.person.url=xxxxxxxx
#map 第二...]]></description><category></category></item><item><title><![CDATA[json串，转实体类A。其中实体类A中存在实体类B的集合。]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/85131036</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/85131036</guid><author>u014338530</author><pubDate>Thu, 20 Dec 2018 18:12:07 +0800</pubDate><description><![CDATA[ 


Map&amp;lt;String, Class&amp;gt; classMap = new HashMap&amp;lt;String, Class&amp;gt;();
classMap.put(&quot;实体类B在A中的名&quot;, 实体类B.class);
JSONObject jsonObject = (JSONObject) object.get(keys.next());
实体类A a = (实体类A) JSONObj...]]></description><category></category></item><item><title><![CDATA[mysql之模糊查询：locate]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/85115300</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/85115300</guid><author>u014338530</author><pubDate>Thu, 20 Dec 2018 11:33:35 +0800</pubDate><description><![CDATA[1：使用locate进行数据模糊查询，语句样例：

locate(parm,字段)，多个调价你之间可以使用or进行拼接。


select code,name_zh from airport where
            locate('查尔',name_zh)
            or locate('查尔',name_en)
            or locate('查尔',na...]]></description><category></category></item><item><title><![CDATA[Git 新建分支并且提交远程仓库]]></title><link>https://blog.youkuaiyun.com/u014338530/article/details/84582868</link><guid>https://blog.youkuaiyun.com/u014338530/article/details/84582868</guid><author>u014338530</author><pubDate>Wed, 28 Nov 2018 13:46:57 +0800</pubDate><description><![CDATA[
	新建分支：spring-boot

	
$ git checkout -b spring-boot
	
	
	查看状态

	
$ git status
	
	
	提交代码

	
$ git add *

$ git commit -m &quot;****&quot;

$ git push

	
 新建的分支需要对本地分支和远程仓库分支进行关联，这样子就可以省去每次pull或者是push代码时进行手动关联。

...]]></description><category></category></item></channel></rss>