JAVA μ λ€λ¦(Generics) ν΄λμ€μ λ©μλ JAVA μ λ€λ¦(Generics) ν΄λμ€μ λ©μλ π λ€λ£¨λ λ΄μ© μ λ€λ¦μ μ μ μ λ€λ¦ ν΄λμ€ μ λ€λ¦ λ©μλ μ λ€λ¦ μ ν(extends, super) μμΌλ μΉ΄λ μ λ€λ¦ μ - Collections.sort() μ λ€λ¦(Generics) μ΄λ? μ λ€λ¦μ ν΄λμ€, λ©μλμμ μ¬μ©ν λ°μ΄ν° νμ μ λμ€μ νμ νλ κΈ°λ²μ΄λ€. λμ€μλΌλ λ§μ ν΄λμ€λ λ©μλλ₯Ό μ μΈν λκ° μλ μ¬μ©ν λ, μ¦ μΈμ€ν΄μ€λ₯Ό μμ±ν λλ λ©μλλ₯Ό νΈμΆν λ μ νλ€λ μλ―Έμ΄λ€. μ λ€λ¦μ μ¬μ© λ°©λ²κ³Ό νΉμ§μ λ©μλμ 맀κ°λ³μμ κ΅μ₯ν μ μ¬νλ°, λ©μλμ 맀κ°λ³μκ° 'κ°'κ³Ό κ΄λ ¨λμ΄ μλ€λ©΄ μ λ€λ¦μ λ°μ΄ν°μ 'νμ 'κ³Ό κ΄λ ¨μ΄ μλ€. λ°λΌμ ν΄λμ€μ λ©μλκ° λ€μν νμ μ λ€λ£° μ μλλ° μ΄λ₯Ό μ λ€λ¦μ μ¬μ©νμ§ μκ³ κ΅¬ννκ³ μ νλ©΄ λ°©λ²μ .. 2020. 7. 11. JAVAμ κ°μ²΄ μ§λ ¬ν(Serialization)μ JSON μ§λ ¬ν JAVAμ κ°μ²΄ μ§λ ¬ν(Serialization)μ JSON μ§λ ¬ν π λ€λ£¨λ λ΄μ© μ§λ ¬νμ μμ§λ ¬νμ κ°λ ObjectInputStreamκ³Ό ObjectOutputStream Serializable transient μ§λ ¬ν/μμ§λ ¬νμ ꡬν serialVersionUID Jacksonμ μ΄μ©ν JSON μ§λ ¬ν μ§λ ¬ν, μμ§λ ¬νλ? μ§λ ¬ν - κ°μ²΄μ μ μ₯λ λ°μ΄ν°λ₯Ό I/O μ€νΈλ¦Όμ μ°κΈ°(μΆλ ₯) μν΄ μ°μμ μΈ(serial) λ°μ΄ν°λ‘ λ³ννλ κ² μμ§λ ¬ν - I/O μ€νΈλ¦Όμμ λ°μ΄ν°λ₯Ό μ½μ΄μ(μ λ ₯) κ°μ²΄λ₯Ό λ§λλ κ² μλ°μμ μ§λ ¬νμ μμ§λ ¬νλ κ°μ²΄λ₯Ό νμΌλ‘ μ μ₯νκ±°λ λ€νΈμν¬λ₯Ό ν΅ν΄ μ μ‘νκΈ° μν΄ μ 곡λλ κΈ°λ₯μ΄λ€. κ°μ²΄λ 'μΈμ€ν΄μ€ λ³μμ μ§ν©'μ΄λ―λ‘ κ°μ²΄λ₯Ό μ μ₯/μ μ‘νλ κ²μ κ°μ²΄μ μΈμ€ν΄μ€ λ³μμ κ°μ.. 2020. 7. 10. μλ° Object ν΄λμ€ μ 리 - toString(), equals(), hashCode(), clone() μλ° Object ν΄λμ€ μ 리 - toString(), equals(), hashCode(), clone() Object ν΄λμ€ - java.lang.Object - λͺ¨λ ν΄λμ€μ μ΅μμ ν΄λμ€ Object ν΄λμ€λ μλ°μμ μ 곡νλ μ€μν ν΄λμ€ μ€ νλμ λλ€. java.lang.Object ν΄λμ€λ λͺ¨λ ν΄λμ€μ μ΅μμ ν΄λμ€λ‘ λͺ¨λ ν΄λμ€λ Object ν΄λμ€λ₯Ό μμλ°μ΅λλ€. λ°λΌμ λͺ¨λ ν΄λμ€λ Object ν΄λμ€μ λ©μλλ₯Ό μ¬μ©ν μ μκ³ μΌλΆ λ©μλλ₯Ό overrideν΄μ μ¬μ©ν μλ μμ΅λλ€. λ¨, λΉμ°ν final λ©μλλ overrideν μ μμ΅λλ€. Object ν΄λμ€κ° λ€μ΄μλ java.lang ν¨ν€μ§λ μ»΄νμΌλ¬μ μν΄ μλμΌλ‘ importλ©λλ€. κ·Έλμ java.lang ν¨ν€μ§μ μλ.. 2020. 6. 30. [JAVA λμμΈ ν¨ν΄] ν νλ¦Ώ λ©μλ ν¨ν΄ [JAVA λμμΈ ν¨ν΄] ν νλ¦Ώ λ©μλ ν¨ν΄ - νλ μμν¬μμ ννκ² μ¬μ©λλ μ€κ³ κΈ°λ² μ€ νλ - abstract, final ν€μλλ₯Ό μ¬μ©ν΄μ ꡬν - final λ©μλμ abstract λ©μλλ‘ λ‘μ§μ νλ¦λ§μ μ μνκ³ κ΅¬μ²΄μ μΈ κ΅¬νμ νμ ν΄λμ€μ μμ ν νλ¦Ώ λ©μλ ν¨ν΄μ νλ μμν¬μμ ννκ² μ¬μ©λλ μ€κ³ κΈ°λ² μ€ νλμ λλ€. μ°μ ν νλ¦Ώ λ©μλλ νλ‘κ·Έλ¨ μ 체μ νλ¦(μλ리μ€)λ₯Ό μ μν λ©μλμ λλ€. final ν€μλλ₯Ό μ¬μ©ν΄μ overrideν μ μκ² νλ κ²μ΄ νΉμ§μ λλ€. μ΄λ¬ν ν νλ¦Ώ λ©μλλ₯Ό μ΄μ©ν ν νλ¦Ώ λ©μλ ν¨ν΄μ abstract ν΄λμ€μμ abstract λ©μλλ₯Ό μ΄μ©ν΄μ μ 체 νλ¦μ μ μνκ³ κ΅¬μ²΄μ μΈ κ° λ©μλμ ꡬνμ νμ ν΄λμ€μ μμνλ κ²μ λλ€. νμν΄λμ€ λ§λ€ μΈ.. 2020. 6. 26. [JAVA λμμΈ ν¨ν΄] staticμ μμ©ν μ±κΈν€ ν¨ν΄(Singleton Pattern) ꡬν [JAVA λμμΈ ν¨ν΄] staticμ μμ©ν μ±κΈν€ ν¨ν΄(Singleton Pattern) ꡬν ν΄λμ€ λ΄μ λ³μμ static ν€μλλ₯Ό λΆμ΄λ©΄ κ·Έ ν΄λμ€μ μΈμ€ν΄μ€λ€μ΄ 곡μ νλ ν΄λμ€ λ³μκ° λ©λλ€. λ€μ μμ λ₯Ό λ΄ μλ€. μ¬μ©μ ν΄λμ€ Userλ‘ μΈμ€ν΄μ€λ₯Ό μμ±ν λ λ§λ€ 첫 λ²μ§Έ μΈμ€ν΄μ€μλ 1001μ, λ λ²μ§Έ μΈμ€ν΄μ€μλ 1002, λ€μμ 1003, ... μ΄λ°μμΌλ‘ 1000λΆν° μμν΄μ μΈμ€ν΄μ€λ₯Ό μμ±ν λλ§λ€ 1μ© μ¦κ°μμΌ idλ₯Ό λΆμ¬ν΄μ£Όλ €κ³ ν©λλ€. /* μ¬μ©μ ν΄λμ€ */ public class User { private static Long serialNumber = 1000L; private Long userId; private String userName; public User(St.. 2020. 6. 18. Spring MVC - @PropertySource μ¬μ© μ€ FileNotFoundException: Could not open ServletContext resource μλ¬ Spring MVC - @PropertySource μ¬μ© μ€ FileNotFoundException: Could not open ServletContext resource μλ¬ βοΈ Spring Web MVC 5.2.6.RELEASE μ€νλ§ μΉ MVC νλ‘μ νΈμμ νλ‘νΌν°λ₯Ό μ¬μ©νλ€κ° λ€μκ³Ό κ°μ μλ¬κ° λ°μνμλ€. java.io.FileNotFoundException: Could not open ServletContext resource [/properties/data1.properties] νλ‘μ νΈμ νλ‘νΌν° νμΌ μμΉλ src/main/resources/properties/data1.properties λ©μ΄λΈ νλ‘μ νΈμ΄κΈ° λλ¬Έμ λΉλνλ©΄ resources λ΄μ νμΌλ€μ΄ classpathλ‘ λ³΅μ¬λλ€... 2020. 5. 6. [IntelliJ] Spring Web MVC νλ‘μ νΈ μμ± λ° μΈν - μλ° μ€μ μ¬μ© [IntelliJ] Spring Web MVC νλ‘μ νΈ μμ± λ° μΈν - μλ° μ€μ μ¬μ© 1. νλ‘μ νΈ μμ± μλ‘μ΄ Maven νλ‘μ νΈλ₯Ό μμ±νλ€. Create from archetype 체ν¬, maven-archetype-webappμ μ ννκ³ Next ν΄λ¦ νλ‘μ νΈ μ 보 μ λ ₯νκ³ Next ν΄λ¦ μ¬μ©ν Maven μ ν ν Finish ν΄λ¦ κΈ°λ³ΈμΌλ‘ μμ±λλ pom.xml 4.0.0 com.atoz_develop project03 1.0-SNAPSHOT war project03 Maven Webapp http://www.example.com UTF-8 1.7 1.7 junit junit 4.11 test project03 maven-clean-plugin 3.1.0 maven-resources-plugi.. 2020. 5. 1. [IntelliJ] Spring Web MVC νλ‘μ νΈ μμ± λ° μΈν - XML μ€μ μ¬μ© [IntelliJ] Spring Web MVC νλ‘μ νΈ μμ± λ° μΈν - XML μ€μ μ¬μ© π‘ λ²μ : JDK8 / Spring MVC 5.2.6.RELEASE / Tomcat 9 1. νλ‘μ νΈ μμ± μλ‘μ΄ Maven νλ‘μ νΈλ₯Ό μμ±νλ€. Create from archetype 체ν¬, maven-archetype-webappμ μ ννκ³ Next ν΄λ¦ νλ‘μ νΈ μ 보 μ λ ₯νκ³ Next ν΄λ¦ μ¬μ©ν Maven μ ν ν Finish ν΄λ¦ κΈ°λ³ΈμΌλ‘ μμ±λλ pom.xml 4.0.0 com.atoz_develop project03 1.0-SNAPSHOT war project03 Maven Webapp http://www.example.com UTF-8 1.7 1.7 junit junit 4.11 test proje.. 2020. 5. 1. μ€νλ§ JDBC νλ‘κ·Έλλ° - MyBatis μ°λ μ€νλ§ JDBC νλ‘κ·Έλλ° - MyBatis μ°λ μ΄ κΈμμλ Oracle DB 11gλ₯Ό μ¬μ©νλ€κ³ κ°μ νλ€. λ€λ₯Έ DBλ₯Ό μ¬μ©ν΄λ 무방νλ€. MyBatis - Spring JDBC νλ‘κ·Έλλ°μ μ½κ² μμ ν μ μλλ‘ λ§λ λΌμ΄λΈλ¬λ¦¬ - Mapperμ μν μ νμ₯νμ¬ μΏΌλ¦¬λ¬Έ μμ±μ λͺ¨λ Mapperμμ ν μ μλλ‘ μ§μνλ€. μμ‘΄μ± μΆκ° Spring JDBC, Oracle JDBC λλΌμ΄λ², Apache Commons DBCPμ MyBatis λΌμ΄λΈλ¬λ¦¬ μμ‘΄μ±μ μΆκ°νλ€. org.springframework spring-jdbc 5.1.9.RELEASE com.oracle ojdbc6 11.2.0.3 org.apache.commons commons-dbcp2 2.7.0 org.mybatis mybati.. 2020. 4. 28. μ€νλ§ JDBC νλ‘κ·Έλλ° - JdbcTemplate μ€νλ§ JDBC νλ‘κ·Έλλ° - JdbcTemplate Spring Frameworkλ JDBC νλ‘κ·Έλλ°μ μν΄ JdbcTemplate ν΄λμ€λ₯Ό μ 곡νλ©° JdbcTemplate ν΄λμ€λ μμ½κ² DBμ μ°λν μ μλλ‘ κ΅¬νλμ΄ μλ€. μ΄ κΈμμλ Oracle DB 11gλ₯Ό μ¬μ©νλ€κ³ κ°μ νλ€. λ€λ₯Έ DBλ₯Ό μ¬μ©ν΄λ 무방νλ€. μμ‘΄μ± μΆκ° Spring JDBC, Oracle JDBC λλΌμ΄λ², Apache Commons DBCP λΌμ΄λΈλ¬λ¦¬ μμ‘΄μ±μ μΆκ°νλ€. org.springframework spring-jdbc 5.1.9.RELEASE com.oracle ojdbc6 11.2.0.3 org.apache.commons commons-dbcp2 2.7.0 Oracle JDBC λλΌμ΄λ²λ₯Ό κ΄λ¦¬νλ λ νμ§ν 리.. 2020. 4. 27. [AspectJ Weaver] execution μ§μμ μ€μ λ°©λ² μ 리 [AspectJ Weaver] execution μ§μμ μ€μ λ°©λ² μ 리 Execution μ§μμ Execution μ§μμ μ€μ λ°©λ² - Pointcutμ μ§μ ν λ μ¬μ©νλ λ¬Έλ² - νμ : execution(리ν΄νμ ν΄λμ€μ΄λ¦ λ©μλμ΄λ¦(맀κ°λ³μ)) - 리ν΄νμ β‘οΈ λ©μλμ λ¦¬ν΄ νμ - ν΄λμ€ μ΄λ¦ β‘οΈ ν¨ν€μ§λ₯Ό ν¬ν¨ν ν΄λμ€ μ΄λ¦ / ν¨ν€μ§ μλ΅ μ λͺ¨λ ν¨ν€μ§ / ν΄λμ€ μλ΅ μ λͺ¨λ ν΄λμ€ - λ©μλ μ΄λ¦ β‘οΈ λ©μλμ μ΄λ¦ - 맀κ°λ³μ β‘οΈ λ§€κ°λ³μμ νν μμΌλμΉ΄λ * β‘οΈ νλμ λͺ¨λ κ²μ μλ―Έ .. β‘οΈ κ°μ μκ΄μμ΄ λͺ¨λ κ²μ μλ―Έ μ) execution(void com.atoz_develop.beans.TestBean1.method1()) β‘οΈ λ¦¬ν΄νμ void, com.atoz_d.. 2020. 4. 27. AspectJ Weaverλ₯Ό μ¬μ©ν μ λ Έν μ΄μ κΈ°λ°μ μ€νλ§ AOP ꡬν λ°©λ² AspectJ Weaverλ₯Ό μ¬μ©ν μ λ Έν μ΄μ κΈ°λ°μ μ€νλ§ AOP ꡬν λ°©λ² AOPλ? - Aspect Oriented Programming : κ΄μ μ§ν₯ νλ‘κ·Έλλ° - OOP μ λΆλ¦¬λ κ°λ μ΄ μλλΌ, OOPμ κΈ°μ΄λ₯Ό λλ νλ‘κ·Έλλ° λ°©μ - νλμ νλ‘κ·Έλ¨μ κ΄μ (νΉμ κ΄μ¬μ¬)λΌλ λ Όλ¦¬μ μΈ λ¨μλ‘ λΆλ¦¬νμ¬ κ΄λ¦¬νλ κ°λ - λ‘κΉ , κ°μ¬, μ μΈμ νΈλμ μ , 보μ, μΊμ± λ± λ€μν κ³³μμ μ¬μ©λλ€. AOP μ©μ΄ - Joint Point : λͺ¨λμ΄ μ½μ λμ΄ λμνκ² λλ νΉμ μμΉ(λ©μλ νΈμΆ λ±) - Point Cut : λ€μν Joint Point μ€μ μ΄λ€ κ²μ μ¬μ©ν μ§ μ ν - Advice : Joint Pointμ μ½μ λμ΄ λμν μ μλ μ½λ - Weaving : Adviceλ₯Ό ν΅μ¬ λ‘μ§ μ½λ.. 2020. 4. 27. μ΄μ 1 2 3 4 5 6 Β·Β·Β· 17 λ€μ