随笔分类 - java基础
摘要:手动实现切面类 首先创建接口Star,定义了sing()和dance()方法 package com.loubin; public interface Star { public void sing(); public void dance(); } 然后定义BigStar类,实现了Star接口,并
阅读全文
摘要:动态代理使用反射的机制来为自定义类自动生成代理,废话不多说,上代码 首先是被代理的接口Rent package com.loubin.pojo; public interface Rent { public void rent(); } 然后是被代理类Host,也叫做目标类,其实现了Rent接口 p
阅读全文
摘要:代码如下 package com.loubin; import java.lang.annotation.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect
阅读全文
摘要:代码如下 package com.loubin; import java.lang.annotation.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect
阅读全文
摘要:获得类内部结构的代码如下 package com.loubin; import java.lang.annotation.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang
阅读全文
摘要:获得Class对象是实现反射的基础,获得Class对象主要有三种方式 下面是具体实例 package com.loubin; import java.lang.annotation.*; public class Main { public static void main(String[] arg
阅读全文
摘要:啥是Class对象 专业的详细的科学的规范的解释百度就可以获得,这里写能让自己直观理解的介绍吧。当我们运行程序时,系统会将类加载到内存,同时,会给每个类分配一个Class的对象,这个Class的对象拥有关于这个类的一切描述,就好像人的名片一样。每一个类对应一个唯一的Class对象,至于Class类,
阅读全文
摘要:自定义注解主要是要掌握四个元注解@Target, @Retention,@Documented,@Inherited,他们的意思分别如下 下面是一个具体的例子,注意注释定义中的 String name()并不是定义一个name方法,而是定义一个name属性,该属性的类型是String package
阅读全文
摘要:constructor-arg标签是构造函数注入,property标签是set注入,ok
阅读全文
摘要:@Configuration注解 在java类前面加上@Configuration,该类就等价于ApplicationContext.xml(IOC容器的xml配置)了 如下代码就是一个@Configuration注解标注的类 package com.loubin.config; import co
阅读全文
摘要:XML配置文件 使用autowired属性来进行自动注入,如下所示,如果 autowire="byType那么spring会在所有对象中查找类型为Cat所需要的属性的类型的对象,假设cat中有一个属性是类Class1,那么spring会查找类Class1对应的对象,如果找到且只找到一个,那么进行注入
阅读全文
摘要:如下代码中的Student类,有基础类型,数组类型,列表类型,字典类型,该如何进行依赖注入呢 package com.loubin.pojo; import java.util.Arrays; import java.util.List; import java.util.Map; public c
阅读全文
摘要:高耦合的代码 我想要写一段程序,该程序有dao层和service层,dao层有接口UserDao,定义了一个方法叫做sayHello(),并且在dao层定义两个类MysqlDao和OracleDao,他们都实现了UserDao接口,并且实现了sayHello()方法,如图和代码所示 UserDao接
阅读全文
摘要:where和if标签搭配 user表如下图所示 有时候,我们想在java程序中自定义查询条件,例如,我想查询user表,有时候我输入name=“狂神”,查询所有name为狂神的数据,有时候我输入pwd=‘123456’,想查询所有密码为123456的数据,有时候我想查询name为狂神同时密码为123
阅读全文
摘要:创建数据库和实体类 首先创建数据库student和teacher,并且每个学生对应一个老师,一个老师可以对应多个学生,数据库如下图: 创建实体类Student 1 package com.loubin.pojo; 2 3 public class Student { 4 private int id
阅读全文
摘要:在mybatis的配置文件中加上 1 <settings> 2 <setting name="logImpl" value="STDOUT_LOGGING"/> 3 </settings> 这里value的配置还有很多
阅读全文
摘要:弄清楚SqlSessionFactoryBuild,SqlSessionFactory,SqlSession的作用域和生命周期,可以避免高并发程序中的资源浪费 具体知识点看狂神的两张ppt就行了
阅读全文
摘要:在mybatis配置文件中使用typeAlias属性配置别名,如图所示 配置完别名后,以后在mapper文件中,只需要使用别名即可,如图所示,图中红框处原来是com.loubin.dao.User 除了使用typeAliases指定别名之外,还可以使用package属性选择某个文件夹下的所有类,批量
阅读全文
摘要:将jdbc数据库连接属性写在db.properties中,如图 然 然后在配置文件中引入
阅读全文

浙公网安备 33010602011771号